新闻  |   论坛  |   博客  |   在线研讨会
curl库交叉编译相关
电子禅石 | 2024-11-19 14:46:16    阅读:18   发布文章

预置条件
编译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


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
电子禅石  2024-11-19 14:47:02 

CPPFLAGS=-fPIC 非常有用。

属于自己的技术积累分享,成为嵌入式系统研发高手。
推荐文章
最近访客