2011-05-24 49 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