问题场景(一):怎样引入.dll.lib
方法一:
这里我将要用的.dll和.lib放在一个文件中
(1)先在资源文件中引入.lib
(2)在属性配置中将工作目录改为.lib和.dill所在目录下
方法二:
(1)在项目属性中附加库目录
(2)在附加依赖项中添加所用的.lib
(3)再将所有要用到的.dll文件添加到运行目录下
问题场景(2): 宏重定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(91): warning C4005: “AF_IPX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(460) : 参见“AF_IPX”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(131): warning C4005: “AF_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(479) : 参见“AF_MAX”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(168): warning C4005: “SO_DONTLINGER”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(402) : 参见“SO_DONTLINGER”的前一个定义
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(212): error C2011: “sockaddr”:“struct”类型重定义
问题原因:
在引入的头文件中windows.h 包含的(winsock.h 与 WinSock2.h包含的(ws2def.h)有重定义的部分。
解决方法一:
删除windows.h(在不用到里面的aip时);
解决方法二:
在头文件最下面添加#pragma comment(lib,“ws2_32.lib”)