linux 編譯鏈結libcurl異常處理

2021-07-02 21:58:46 字數 1159 閱讀 4931

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

後面經過一系列的查詢,發現是缺少兩個依賴庫檔案,我也直接給出解決辦法吧:

因為上面報的那些錯都是因為缺少這兩個鏈結庫導致的。或者可以在進行libcurl打包的時候執行./configure後面新增上這兩個庫。

Linux 0 編譯鏈結

預編譯 在明亮行鍵入命令。gcc o hello1.c e hello.c 這行明亮告訴gcc對源程式hell0.c進行預編譯,預編譯結果輸出到hello1.c檔案中 預編譯就是把.h標頭檔案展開,開啟 編譯 gcc o heello.0 c hello1.c 這行命令告訴gcc對源程式hello....

linux編譯和鏈結指令

1.預編譯 生成.i檔案 1 將所有的 define 刪除,並且展開所有巨集 2 處理掉所有條件預編譯指令,如 if ifdef elif else endif 3 處理 include 指令,這是乙個遞迴過程 4 刪除所有的注釋 和 5 新增行號和檔名標識 6 保留所有的 pragma編譯器指令,...

Linux 六 編譯鏈結原理

一 編譯鏈結原理 我們編譯乙個程式的過程,其實是由四個步驟組成的,分別是 預編譯 編譯 彙編 鏈結。雖然我們現在都是在ide這種整合開發環境下進行產品的開發,平時也不需要關注程式到底是怎麼進行編譯鏈結的,但了解編譯鏈結原理對我們學習程式設計,以及對我們編寫程式有很大幫助,因此,我們十分有必要學習程式...