未解决的外部 'WSADuplicateSocketW' link 错误
Unresolved external 'WSADuplicateSocketW' link error
我的 WSADuplicateSocket 函数链接有问题。 Ws2_32.lib 存在,库路径设置正确。 Windows 7 是否支持 WSADuplicateSocket?可以在没有 WSADuplicateSocket 的情况下将套接字传递给子进程吗?
IDE:C++Builder XE5,OS:Windows7
Is WSADuplicateSocket suported for Windows 7?
是的。
但这不是 Windows 7 问题。这是一个 IDE/project 问题。 $(BDS)\lib\win32\release\psdk
and/or $(BDS)\lib\win32\release
文件夹(无论您的项目链接到哪个)中的 ws2_32.lib
副本不包含 WSADuplicateSocketW
的符号,或者您一开始并没有真正将 ws2_32.lib
链接到您的项目中。其中任何一个都会导致链接器抱怨。我的猜测是后者。
我检查了 XE2 和 XE5 中的 .lib
文件,WSADuplicateSocketW
符号在两个版本中都存在。因此,请确保您实际链接到 ws2_32.lib
并且没有安装 bad/corrupt。如果需要,您可以使用命令行 IMPLIB.EXE
工具从 Windows 文件夹中的 ws2_32.dll
创建一个新的 ws2_32.lib
文件。
it's possible pass socket to child process without WSADuplicateSocket?
没有
我的 WSADuplicateSocket 函数链接有问题。 Ws2_32.lib 存在,库路径设置正确。 Windows 7 是否支持 WSADuplicateSocket?可以在没有 WSADuplicateSocket 的情况下将套接字传递给子进程吗?
IDE:C++Builder XE5,OS:Windows7
Is WSADuplicateSocket suported for Windows 7?
是的。
但这不是 Windows 7 问题。这是一个 IDE/project 问题。 $(BDS)\lib\win32\release\psdk
and/or $(BDS)\lib\win32\release
文件夹(无论您的项目链接到哪个)中的 ws2_32.lib
副本不包含 WSADuplicateSocketW
的符号,或者您一开始并没有真正将 ws2_32.lib
链接到您的项目中。其中任何一个都会导致链接器抱怨。我的猜测是后者。
我检查了 XE2 和 XE5 中的 .lib
文件,WSADuplicateSocketW
符号在两个版本中都存在。因此,请确保您实际链接到 ws2_32.lib
并且没有安装 bad/corrupt。如果需要,您可以使用命令行 IMPLIB.EXE
工具从 Windows 文件夹中的 ws2_32.dll
创建一个新的 ws2_32.lib
文件。
it's possible pass socket to child process without WSADuplicateSocket?
没有