专栏中心

EEPW首页 > 专栏 > curl库交叉编译相关

curl库交叉编译相关

发布人:电子禅石 时间:2024-11-19 来源:工程师 发布文章
预置条件
编译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的静态库来编译动态库,则必须添加-fPIC这个选项,

而且一定是CPPFLAGS,之前自己一直认为是CXXFLAGS。。。入坑了

–with-ssl ssl的安装路径,openssl一定要安装才可编译curl

–host=arm-none-linux 编译出的库要在什么架构上使用,

Config.sub文件中记录有所有架构信息。有时候不添加此选项,会编译不出动态库,

即要编译动态库,必须添加此字段

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

问题解决

第一次编译完使用libcurl.a编译自己使用的动态库时,遇到了下面的问题:

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


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: curl
更多 培训课堂
更多 焦点
更多 视频

技术专区