2011-05-24 45 views
0

我試圖按照在 Directx control in browser pluginFireBreath FB :: PluginWindowWin包括問題

答案的步驟,但是當我加入 http://colonelpanic.net/2010/11/firebreath-tips-drawing-on-windows/ FireBreath提示中提到的解決方案:圖紙上的Windows

「1。使您的插件對象窗口特定

將EVENTTYPE_CASE中指定的事件源類型更改爲FB :: PluginWindowWin(以及處理程序中的類型),並且您將按照需要的方式進行對象轉換。

我得到了119個錯誤,全部都在winsock2.h文件中,其中我包含在其他文件中, 表示重新定義,不同的連接。該怎麼辦?

謝謝,薩拉

回答

0

這是一個常見問題,當你試圖包含windows.h和winsock2.h時會發生。

windows.h包含winsock.h本身,因此,如果在它之後包含winsock2.h,會出現幾個重定義衝突。

解決方案:首先包含「winsock2.h」。

+0

如果在我的第一個答案中指定了包含「win_common.h」作爲第一個包含在您的文件中的文件,那麼您將不會遇到此問題,因爲win_common.h * does *首先包含winsock2.h,並確保您的基本包含按照正確的順序......事實上,這是它在生活中的全部目的。 – taxilian 2011-05-31 15:12:01

+0

那麼,它沒有工作......在包含了一整個混亂,我不得不在所有的文件中仔細訂購它們,這需要首先「winsock2」。 – sara 2011-06-02 12:18:24

+0

哦..我的錯誤。我猜FireBreath不會使用winsock2,因此你實際上碰到了一個與我經歷的不同(但非常相似)的問題。對不起: - / – taxilian 2011-06-02 18:28:28

0

你添加的#include 「贏/ PluginWindowWin.h」?

另一件可以幫助在文件早期#include「win_common.h」的東西。包含某些窗口標題和winsock事宜的順序,這樣如果它們出現亂序可能會導致此問題。

+0

我確實包含了「Win/PluginWindowWin.h」。我試圖包含「win_common.h」但這沒有幫助。唯一有用的是在cpp中包含「Win/PluginWindowWin.h」,這是我不想要的。 – sara 2011-05-25 06:20:40

+0

等待;你爲什麼不想在cpp中包含PluginWindowWin?如果這個類沒有定義,那麼它肯定不會起作用......另外,你是否包含「win_common.h」作爲* first include *? – taxilian 2011-05-26 05:29:23

+0

是的,我將它添加爲第一個包含。我也卡在我的另一個問題http://stackoverflow.com/q/6030417/487305,直到我解決這個問題。 – sara 2011-05-31 08:28:30