博客專欄

EEPW首頁 > 博客 > curl庫交叉編譯相關(guān)

curl庫交叉編譯相關(guān)

發(fā)布人:電子禪石 時間:2024-11-19 來源:工程師 發(fā)布文章
預(yù)置條件
編譯curl之前要先編譯openssl,并且需要將openssl安裝到編譯的機(jī)器上

配置

如./configure CPPFLAGS=-fPIC --without-zlib --disable-ldap --disable-ldaps 

--without-nss --with-ssl=/usr/local/ssl_arm --enable-ipv6 CC=aarch64-linux-gnu-gcc 

CXX=aarch64-linux-gnu-g++ --host=arm-none-linux


CPPFLAGS=-fPIC 如果要使用curl的靜態(tài)庫來編譯動態(tài)庫,則必須添加-fPIC這個選項,

而且一定是CPPFLAGS,之前自己一直認(rèn)為是CXXFLAGS。。。入坑了

–with-ssl ssl的安裝路徑,openssl一定要安裝才可編譯curl

–host=arm-none-linux 編譯出的庫要在什么架構(gòu)上使用,

Config.sub文件中記錄有所有架構(gòu)信息。有時候不添加此選項,會編譯不出動態(tài)庫,

即要編譯動態(tài)庫,必須添加此字段

申威–build=alpha --host=alpha-none-linux

問題解決

第一次編譯完使用libcurl.a編譯自己使用的動態(tài)庫時,遇到了下面的問題:

unresolvable R_AARCH64_ADR_PREL_PG_HI21 

relocation against symbol `stdin@@GLIBC_2.17’

解決方案:編譯curl時添加PPFLAGS=-fPIC

————————————————


                       

原文鏈接:https://blog.csdn.net/qq_23953675/article/details/121358012


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: curl

技術(shù)專區(qū)

關(guān)閉