linux mingw32 bin,c – 在Linux for Windows下使用mingw32交叉编译时链接libcurl

我使用mingw32编译了libcurl,并尝试使用mingw32将其与我的程序链接到我的Linux机器上的Windows系统.

我输出了libcurl-4.dll libcurl.a libcurl.la libcurl.lai文件.

我把它们包含在我的mingw32 libs文件夹中:/usr/x86_64-w64-mingw32 / lib

我能够找到一些关于链接libstdc和libgcc的其他主题,以便在执行时注意依赖性错误,但是当尝试添加libcurl.a时,它将不会编译期间.

我使用了以下内容:

$x86_64-w64-mingw32-g++ main.cpp -o hello.exe -static-libgcc -static-libstdc++ -static "/usr/x86_64-w64-mingw32/lib/libcurl.a" -lpthread

但是,我不能让它使用libcurl.a并继续收到这些错误.

/tmp/ccIceRus.o:main.cpp:(.text+0xde): undefined reference to `__imp_curl_easy_init'

/tmp/ccIceRus.o:main.cpp:(.text+0x106): undefined reference to `__imp_curl_easy_setopt'

/tmp/ccIceRus.o:main.cpp:(.text+0x122): undefined reference to `__imp_curl_easy_setopt'

/tmp/ccIceRus.o:main.cpp:(.text+0x13e): undefined reference to `__imp_curl_easy_setopt'

/tmp/ccIceRus.o:main.cpp:(.text+0x159): undefined reference to `__imp_curl_easy_setopt'

/tmp/ccIceRus.o:main.cpp:(.text+0x169): undefined reference to `__imp_curl_easy_perform'

/tmp/ccIceRus.o:main.cpp:(.text+0x180): undefined reference to `__imp_curl_easy_strerror'

/tmp/ccIceRus.o:main.cpp:(.text+0x197): undefined reference to `__imp_curl_easy_cleanup'

/usr/bin/x86_64-w64-mingw32-ld: /tmp/ccIceRus.o: bad reloc address 0x80 in section `.xdata'

collect2: error: ld returned 1 exit status

我究竟做错了什么?.我无法超越这个.我知道它必须是一些愚蠢的问题.

谢谢.

解决方法:

我能够通过指定-DCURL_STATICLIB以及链接其他一些依赖项来解决问题.

x86_64-w64-mingw32-g++ main.cpp -o hello.exe -DCURL_STATICLIB -static -lstdc++ -lgcc -lpthread -lcurl -lwldap32 -lws2_32

标签:c-2,linux,linker,libcurl,mingw-w64

来源: https://codeday.me/bug/20190623/1274290.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值