Winsocks兼容性问题

时间:2011-07-12 05:47:30

标签: c++ windows compatibility

我有一个可执行文件,需要ws2_32.dll,但需要WS2tcpip.h,只能在Windows 7上运行,在XP上不起作用,还没试过vista。

这是一个严重的问题,因为您无法在不丢失DLL文件的情况下运行该程序。我怎么能把它全部包起来所以我不会有任何丢失的DLL问题?或兼容性问题!

3 个答案:

答案 0 :(得分:0)

ws2_32.dll在所有Windows上,因为...石器时代的Windows。如果它使用的只是Windows 7或Windows Vista上的某些功能,则必须重新编译/移植回Windows XP,以便它不需要它。

答案 1 :(得分:0)

我认为您应该查看以下文章:link

更新:您应该执行类似这样的操作,包括Windows依赖的标头:

// Windows XP
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501
#include <Windows.h>

答案 2 :(得分:0)

我刚用LoadLibrary和GetProcAddress来查找ws2_32.dll里面的函数,所以你的标准动态函数链接。简单!