gpt4 book ai didi

c++ - 将 libcurl+openssl 静态链接到我的项目时出现链接器错误

转载 作者:行者123 更新时间:2023-11-30 04:33:15 24 4
gpt4 key购买 nike

我正在尝试静态链接 libcurl (使用 SSL)进入我的项目,但我遇到了很多链接器错误:

../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xa9c): undefined reference to `CreateDCA@16'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xaa9): undefined reference to `CreateCompatibleDC@4'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xaba): undefined reference to `GetDeviceCaps@8'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xaca): undefined reference to `GetDeviceCaps@8'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xae0): undefined reference to `CreateCompatibleBitmap@12'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xaee): undefined reference to `SelectObject@8'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xb00): undefined reference to `GetObjectA@12'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xb71): undefined reference to `BitBlt@36'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xb7b): undefined reference to `GetBitmapBits@12'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xbd2): undefined reference to `SelectObject@8'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xbd9): undefined reference to `DeleteObject@4'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xbe3): undefined reference to `DeleteDC@4'
../lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xbed): undefined reference to `DeleteDC@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x1b3b): undefined reference to `inet_addr@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x1ba4): undefined reference to `inet_addr@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x5d1e): undefined reference to `htonl@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x5eed): undefined reference to `ntohl@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x6f9a): undefined reference to `htonl@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x728d): undefined reference to `htonl@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x732c): undefined reference to `htonl@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0x757f): undefined reference to `ntohl@4'
../lib/librtmp.a(rtmp.o):rtmp.c:(.text+0xb45): undefined reference to `timeGetTime@0'

这是我下载的 lib folfer 中的文件列表。 enter image description here

我被告知我应该在 wsock32wldap32 中定义宏 CURL_STATICLIB 和链接。还有什么我应该做的吗?

我正在使用 MinGW 和 Eclipse。

g++ -DCURL_STATICLIB -DUSE_LIBSSH2 -DHAVE_LIBSSH2 -DCURL_DISABLE_LDAP -DHAVE_LIBSSH2_H -DLIBSSH2_WIN32 -DLIBSSH2_LIBRARY -DUSE_SSLEAY -O0 -g3 -Wall -c -fmessage-length=0 -osrc\CURLDown.o ..\src\CURLDown.cpp

g++ -L../lib -oCURLDown.exe src\CURLDown.o -lcurl -lcrypto -lwsock32 -lwldap32 -leay32 -lidn -lrtmp -lssh2 -lz -lssl32 -lssl

最佳答案

对于那些在谷歌上搜索这个答案的人——undefined reference to `CreateDCA@16' linker error is looking for libgdi.a (just -lgdi would do).请记住,它必须包含在要链接的库列表中的 libcurl 和 openssl 之后

关于c++ - 将 libcurl+openssl 静态链接到我的项目时出现链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6999086/

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