在linux下用mingw32交叉编译链接libcurl for Windows

我已经使用mingw32编译了libcurl,并试图用我的Linux机器上的mingw32作为Windows系统的程序来链接它。

我输出的文件是libcurl-4.dll libcurl.a libcurl.la libcurl.lai。

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

我能够find一些与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 

我究竟做错了什么?。 我无法摆脱这一点。 我知道这是一个愚蠢的问题。

谢谢。

Solutions Collecting From Web of "在linux下用mingw32交叉编译链接libcurl for Windows"

我能够通过指定-DCURL_STATICLIB以及链接一些其他的依赖关系来解决这个问题。

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