C/C++版Cyclonedds代码分别在X86和ARM架构上编译的心得总结

1 X86架构上的编译

1.1 C版Cyclonedds源码编译

没有什么特别注意的事项,只是在debug版本构建和testing的时候需要安装X86架构上的Cunit单元测试工具

安装过程也较为简单,官网下载安装包,拉到linux系统解压之后,进行make编译即可

编译完成之后需要将生成的静态或者动态库文件放置在/usr/local/lib下面

编译的时候会自动去这个地方查找库文件(隶属于X86架构的库文件)

在最后的roundtrip示例构建的时候,需要注意的是:要将
X86下C的安装位置利用-D CMAKE_PREFIX_PATH=加进来

1.2 C++版Cyclonedds源码编译

同样需要注意的就是Ctest在X86架构上的安装,安装方法与上面CUnit安装同理。

并且还要注意的是在安装的时候,因为C语言是C++的基础,所以在C++版本cmake过程中需要用到C版本的库文件,所以需要在cmake的时候引入C语言的安装地址

2 ARM架构上的编译

首先要在默认X86架构的Linux系统上安装交叉编译工具链,就是解压即可

还有就是在AMR下编译的时候

idlc_generate指令是不可用的,需要手动通过idlc文件生成源文件和库文件

2.1 C版Cyclonedds源码编译

需要注意的点有以下几个:

cmake的时候

1、要引入arm.cmake文件的存放地址

2、安装位置

3、将SSL设置为NO不启用,否则还有安装很多东西

debug版本构建的时候

C语言的testing 需要依赖于ctest单元测试工具,虽然之前已经安装过了,但它是X86架构下的,现在需要重新安装ARM架构下的

2.2 C++版Cyclonedds源码编译

Cmake的时候需要引入arm.cmake文件地址

并且要还要引入ARM下C编译生成库文件的支持

所以需要指向ARM_C的安装位置

同样SSL还是不启动

3 多线程编译

可以使用例如make -j4指令进行多项成编译

-j4make 命令的一个选项,它指定了并行编译的线程数。这个选项告诉 make 在编译源码时同时使用多个线程,以加快编译速度

原理是这样的:在编译大型项目时,通常有很多个源文件需要编译。传统的串行编译方式会逐个编译每个源文件,这样需要的时间较长。而使用 -j4 选项后,make 会同时启动多个线程,并行地编译多个源文件,从而提高了编译速度。

-j4 中的数字 “4” 表示同时启动的线程数,你可以根据你的系统配置和 CPU 核心数来调整这个数字。通常可以选择与 CPU 核心数相近的值,以充分利用系统资源。

在大部分的 Linux 或 macOS 系统中,make 工具已经原生支持并行编译,不需要安装额外的插件或工具。但在 Windows 系统中,默认的 make 工具不支持并行编译,需要安装 GNU 版本的 make(例如 MinGW 或 Cygwin)来获得 -j4 选项的支持。

注意:

1、所有的ARM交叉编译的东西可以都放在一个文件包下面
2、缺什么我们就补什么,缺少C/C++的库文件就直接拷贝过来或者export LD_LIBRARY_PATH。缺啥C/C++的.cmake文件就直接把安装位置引过来

3、第一步cmake成功了之后,如果对源文件进行了修改,不用重新cmake,直接重新make就可以了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南霹雳堂雷家雷无桀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值