C Visual Studio无法在32位上链接,但可以在64位上链接

C Visual Studio无法在32位上链接,但可以在64位上链接,c,visual-studio-2010,compilation,linker,32bit-64bit,C,Visual Studio 2010,Compilation,Linker,32bit 64bit,我创建了一个项目,像往常一样,我创建了两个平台(64位和32位)(这是一个DLL)。 我编写了代码并进行了测试,一切都很顺利(我总是在64位配置上进行测试),但由于我想在32位XP虚拟机上进行测试,我遇到了一个链接问题 我在代码中使用了API WSASelectEvent(与许多其他WSA/Winsock API一样),但在32位配置中,并且只有在32位配置中,链接器才拒绝查找_WSASelectEvent 我得到了众所周知的LNK2001错误: “错误LNK2001:未解析的外部符号\u WS

我创建了一个项目,像往常一样,我创建了两个平台(64位和32位)(这是一个DLL)。 我编写了代码并进行了测试,一切都很顺利(我总是在64位配置上进行测试),但由于我想在32位XP虚拟机上进行测试,我遇到了一个链接问题

我在代码中使用了API WSASelectEvent(与许多其他WSA/Winsock API一样),但在32位配置中,并且只有在32位配置中,链接器才拒绝查找_WSASelectEvent

我得到了众所周知的LNK2001错误:

“错误LNK2001:未解析的外部符号\u WSAEventSelect”

我确实链接到了ws2_32.lib,并且在我使用其他API(例如WSAStartup和WSACleanup以及代码中的structs等等,显然是为了使用winsockets)时,我确实包含了winsock2.h

因此,我知道我喜欢在工作中乱搞配置(这是一个相当小的项目,没什么大不了的),我决定一定要去,在VisualStudio中创建一个新项目,将代码放入其中,并创建一个新的编译平台(当然是使用GUI) 但我得到了同样的结果

我已经在网上冲浪了2-3个小时,但没有解决问题,我甚至尝试比较编译命令行和链接命令行,这两个命令行与普通/MACHINE:x64/x86和目标文件夹完全相同

你可能知道这个问题或解决方法吗

注意::intellisense会就此向我发出警告,并且在编写WSASelectEvent时visual studio不会建议参数列表(但“转到定义”肯定会将我带到Winsock2.h.

很明显,我把我自己的图书馆放进去了。 在其他几个地方包括了winsock2.h之后,我也设法在32位上编译了它


谢谢您的时间!

也许这是包含headerfile的问题。
winsock vs winsock2
。我已经检查过了,在绝望中,我尝试了包含这两个文件的每个排列。。。