在Windows系统下做C++开发时,使用了网络标准库,并且,也进行了pragma comment(lib, “ws2_32.lib”),但是提示: collect2.exe: error: ld returned 1 exit status
在查看相关错误信息,告诉我是在编译的过程中缺少库链接依赖导致的,于是我按照相关的解决方法,在编译时添加了-lwsock32依旧提示错误:
没有增加链接时:
c:\> g++ -o your_program your_code.cpp
undefined reference to '__imp_...'
'...error...'
'collect2.exe: error: ld returned 1 exit status'
增加wsock32链接后:
但是依旧提示错误信息
c:\> g++ -o your_program your_code.cpp -lwsock32
undefined reference to '__imp_...'
'...error...'
'collect2.exe: error: ld returned 1 exit status'
这样看来好像不止缺少wsock32的链接,于是又在找需要什么链接库......be searching......
好像是还缺少了一个gdi32的链接,于是乎我就增加了一个-lgdi32...
貌似还真成功了,不再提示什么链接错误信息了。
c:\> g++ -o your_program your_code.cpp -lwsock32 -lgdi32
结果:
在使用g++编译时添加了-lwsock32链接选项,但仍然遇到了“undefined reference to ‘_imp…’”错误。这个错误通常是由于缺少Windows GDI库的链接导致的。可以尝试在编译时添加-lgdi32链接选项来解决这个问题,例如:
g++ -o your_program your_code.cpp -lwsock32 -lgdi32