fast-dds交叉编译时,openssl库自动依赖到ubtun上的x86版本导致编译失败

可通过一下办法解决:

1. 下载并交叉编译openssl库
下载网址:openssl库下载地址
在这里插入图片描述
将下载的文件拷贝到ubtun编译目录下解压

 tar -zxvf openssl-3.3.0.tar.gz
 cd openssl-3.3.0/
 mkdir build_arm64

配置编译器环境参数,需要修改为自己编译器的路径,执行config

export PATH=$PATH:/home/forlinx/Templates/project/public/Tool/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin
./config no-asm shared no-async prefix=/home/forlinx/Templates/DDS/openssl-3.3.0/build_arm64 --cross-compile-prefix=aarch64-linux-gnu-

参数说明: no-asm: 在交叉编译过程中不使用汇编代码代码加速编译过程.原因是它的汇编代码是对arm格式不支持的。 shared:
生成动态连接库。 no-async: 交叉编译工具链没有提供GNU C的ucontext库 –prefix=:
安装路径,编译完成install后将有bin,lib,include等文件夹 –cross-compile-prefix=: 交叉编译工具
在这里插入图片描述
修改Makefile,去掉-m64参数
在这里插入图片描述
继续编译安装

make & make install

2. 修改FAST-DDS CMakeLists.txt:
指定OPENSSL库寻找路径,设为自己安装的路径
在这里插入图片描述
删除掉以前build的,重新交叉编译FAST-DDS,通过

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值