curl庫交叉編譯相關
編譯curl之前要先編譯openssl,并且需要將openssl安裝到編譯的機器上
配置
如./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,之前自己一直認為是CXXFLAGS。。。入坑了
–with-ssl ssl的安裝路徑,openssl一定要安裝才可編譯curl
–host=arm-none-linux 編譯出的庫要在什么架構上使用,
Config.sub文件中記錄有所有架構信息。有時候不添加此選項,會編譯不出動態(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
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。