首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用在mingw下运行的g++时出现__imp链接错误

使用在mingw下运行的g++时出现__imp链接错误
EN

Stack Overflow用户
提问于 2014-03-11 08:29:39
回答 1查看 7.7K关注 0票数 7

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

代码语言:javascript
运行
复制
undefined reference to `__imp_socket'
undefined reference to `__imp_gethostbyname'

我试过添加-lws2_32,但没有成功;也就是说,它仍然找不到引用。有人能给我提点其他我可能漏掉的东西吗?

下面是完整的输出:

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

发布于 2014-03-11 08:51:55

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

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22314120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档