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後面添加上這兩個庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章