linux 编译链接libcurl异常处理

今天使用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后面添加上这两个库。

你可能感兴趣的:(linux 编译链接libcurl异常处理)