我有一个可执行文件,需要ws2_32.dll,但需要WS2tcpip.h,只能在Windows 7上运行,在XP上不起作用,还没试过vista。
这是一个严重的问题,因为您无法在不丢失DLL文件的情况下运行该程序。我怎么能把它全部包起来所以我不会有任何丢失的DLL问题?或兼容性问题!
答案 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里面的函数,所以你的标准动态函数链接。简单!