gpt4 book ai didi

c++ - __imp 链接错误使用 g++ 在 mingw 下运行

转载 作者:可可西里 更新时间:2023-11-01 13:56:40 25 4
gpt4 key购买 nike

我有一个简单的套接字程序,我正在尝试使用在 Win8 系统上的 mingw(两个最新版本)中运行的 g++ 进行编译。我遇到了常见的链接器错误

undefined reference to `__imp_socket'
undefined reference to `__imp_gethostbyname'

我试过添加 -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

最佳答案

尝试将 -lws2_32 放在 test_client.C 参数之后。 gcc (ld) 的链接器对可链接事物的顺序很敏感,这可能是它在链接时找不到您导入的函数的原因。

关于c++ - __imp 链接错误使用 g++ 在 mingw 下运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22314120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com