ken*_*ahn 4 c++ windows mingw imp
我有一个简单的套接字程序,我正在尝试使用在Win8系统上运行mingw(两个最新版本)的g ++进行编译.我收到了常见的链接器错误
undefined reference to `__imp_socket'
undefined reference to `__imp_gethostbyname'
Run Code Online (Sandbox Code Playgroud)
我试过添加-lws2_32而没有运气; 即它仍然找不到参考文献.有人会建议我可能会遗漏的其他东西吗?
这是完整的输出:
G:\source\kak>g++ -o ./test_client -lws2_32 test_client.C
C:\Users\kenkahn\AppData\Local\Temp\ccDZTr9b.o:test_client.C:(.text+0x4f): undefined reference to `__imp_inet_addr'
C:\Users\kenkahn\AppData\Local\Temp\ccDZTr9b.o:test_client.C:(.text+0x6b): undefined reference to `__imp_socket'
C:\Users\kenkahn\AppData\Local\Temp\ccDZTr9b.o:test_client.C:(.text+0x8b): undefined reference to `__imp_connect'
d:/program files/mingw/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\kenkahn\AppData\Local\Temp\ccDZTr9b.o: bad reloc address 0xc in section `.xdata'
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
尝试将参数放在-lws2_32后面test_client.C.gcc(ld)的链接器对可链接事物的顺序很敏感,这可能是它在链接时找不到导入函数的原因.