今天使用libcurl在程序链接的时候的时候提示了一下的错误:
strerror.c:(.text+0x3f3): undefined reference to `idna_strerror'
./Libcurl/libcurl.a(libcurl_la-timeval.o): In function `curlx_tvnow':
timeval.c:(.text+0x8f): undefined reference to `clock_gettime'
./Libcurl/libcurl.a(libcurl_la-url.o): In function `fix_hostname':
url.c:(.text+0x1ba5): undefined reference to `stringprep_check_version'
url.c:(.text+0x1bc3): undefined reference to `idna_to_ascii_lz'
url.c:(.text+0x1bcb): undefined reference to `stringprep_locale_charset'
url.c:(.text+0x1bfe): undefined reference to `idna_to_unicode_lzlz'
url.c:(.text+0x1c5d): undefined reference to `tld_check_lz'
url.c:(.text+0x1c73): undefined reference to `idn_free'
url.c:(.text+0x1c81): undefined reference to `tld_strerror'
./Libcurl/libcurl.a(libcurl_la-url.o): In function `Curl_disconnect':
url.c:(.text+0x6882): undefined reference to `idn_free'
url.c:(.text+0x6893): undefined reference to `idn_free'
collect2: ld returned 1 exit status
后面经过一系列的查询,发现是缺少两个依赖库文件,我也直接给出解决办法吧:
在gcc链接的时候,在libcurl库的后面新增两个新的库依赖:-lidn -lrt
因为上面报的那些错都是因为缺少这两个链接库导致的。或者可以在进行libcurl打包的时候执行./configure后面添加上这两个库。
本文详细介绍了使用libcurl时遇到的链接错误问题,以及通过增加库依赖来解决的方法。主要涉及libcurl库在gcc链接过程中出现的undefined reference错误,原因在于缺少idn-lrt库。解决方案包括在链接时添加此库依赖,或在libcurl打包阶段进行配置。
423

被折叠的 条评论
为什么被折叠?



