qt windows下#pragma comment(lib,"ws2_32.lib") 报错

风声边界 2011-02-15 11:00:32
在windows下安装的qt4
安装后搜索没有ws2_32.lib文件
使用windows socket时
#ifdef WIN
.....
#pragma comment(lib,"ws2_32.lib")
...
#endif

编译时报错

ignoring #pragma comment...

上网查了有的说使用qt自带的socket,但是要求使用windows socket
还有的说
1、mingw32中没有#pragma comment(lib,"Ws2_32.lib")这样的预处理命令。
2、在pro文件中加入:
LIBS+= Ws2_32.lib

我从别的机子上拷贝该库文件到当前目录
LIBS+= Ws2_32.lib
指定库文件路径还是不行

这是为啥?
...全文
1378 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wuerselen 2011-06-20
  • 打赏
  • 举报
回复
谢谢,

最新的QT要完整的路径
千羽鸣 2011-02-15
  • 打赏
  • 举报
回复
mingw编译器可用的静态库和动态库格式分别是.a 和.so,似乎不是.lib,是吧?不知道.lib的话符号表能不能正常解析了
dbzhang800 2011-02-15
  • 打赏
  • 举报
回复
1. ws2_32.lib 是MSVC的导入库,MinGW中的是 libws2_32.a

2. #pragma comment(lib,...) 是 MSVC 专有的,MinGW 没有类似写法

3. 在pro文件内 加入 LIBS += -lws2_32 即可,无论你用的 MSVC 还是 MinGW

4. 在Qt中, ws2_32 应该是默认会被链接上的,qmake能自动处理这些情况,所以你可能根本就不需要做什么
DIE654456 2011-02-15
  • 打赏
  • 举报
回复
LIBS += C:\WS2_32.lib
注意符合名字,最好是绝对路径。
mingw32中确实没有#pragma comment(lib,"Ws2_32.lib")这样的预处理命令。

21,503

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧