CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)

  • 前言:
  • 1 CUint-2.1-3.tar.bz2压缩安装包下载并解压
  • 2 进入CUint-2.1-3目录并且通过指令./bootstrap*产生configure *执行文件
  • 3 执行./configure*命令
  • 4 make编译
  • 5 make install 安装

前言:

在X86架构上的Linux操作系统上面进行cmake编译(CycloneDDS的C版本),在进行testing的时候需要依赖CUnit单元测试工具,之前已经成功安装了,可以参考文章:
X86架构的Linux(Ubuntu版本)上离线安装CUnit来解决Could not find CUnit(missing:CUNIT_LIBRARY)问题

这中方法中打开Cunit目录,经过make 、make install等步骤生成的可执行文件,通过file命令可以看到其格式为:。如下图所示:

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第1张图片

它还是属于X86架构下,我们要在ARM架构上cmake编译C语言版本的CycloneDDS代码,所以需要ARM下的CUnit执行文件,最终生成之后的结果应该是如下图所示:
CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第2张图片

下面进行CUnit单元测试工具在ARM架构Linux操作系统上的安装

1 CUint-2.1-3.tar.bz2压缩安装包下载并解压

下载方法已经在下面文章中给出,品一下:
X86架构的Linux(Ubuntu版本)上离线安装CUnit来解决Could not find CUnit(missing:CUNIT_LIBRARY)问题

下载完成之后,如果需要将文件包从Windows传输到Linux上面请参考下面文章,看过的都说好:
Windows与Linux系统实现文件互传(通俗易懂)

下载成功之后的文件名为:CUint-2.1-3.tar.bz2

使用命令解压:tar -jxvf CUint-2.1-3.tar.bz2

解压后的文件夹名称为:CUint-2.1-3

如下图所示我将解压包放在了/home/ubuntu/Documents/ARM下面,此时目录下面包含以下文件包:

请添加图片描述

2 进入CUint-2.1-3目录并且通过指令./bootstrap*产生configure *执行文件

上一步中我们解压安装包,进入CUint-2.1-3目录之后通过ll命令看到

如下图所示:

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第3张图片

我们通过命令打开vim ./Makefile文件,如下图所示:

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第4张图片

Makefile文件里面很多东西都是默认的,这样的话make编译出来的库文件都是默认Linux架构下的(X86),所以为了构建出ARM架构下的Cunit,需要改动Makefile文件,但是Makefile文件里面需要连环改动的地方太多,不好下手,所以直接使用命令行的方式来做。

使用如下命令产生configure *执行文件:

./bootstrap --prefix=/home/ubuntu/Documents/install_ARM/ CC=/usr/local/arm/aarch64--glibc--stable-2022.03-1/bin/aarch64-linux-gcc CXX=/usr/local/arm/aarch64--glibc--stable-2022.03-1/bin/aarch64-linux-g++ --host=arm-linux

参数解释:
1、--prefix=后面所跟的就是你所选择的安装路径

这里我选的是:/home/ubuntu/Documents/install_ARM/

2、CC后面跟的就是我们ARM架构下的C语言编译器

CC=/usr/local/arm/aarch64--glibc--stable-2022.03-1/bin/aarch64-linux-gcc
上面的地址是Linux上交叉编译工具链的解压安装地址,c编译器使用的是工具链下bin目录下面的aarch64-linux-gcc

3、CXX后面跟的就是我们ARM架构下的C++的编译器

CXX=/usr/local/arm/aarch64--glibc--stable-2022.03-1/bin/aarch64-linux-g++
同理,C++编译器使用的是工具链下bin目录下面的aarch64-linux-g++

4、--host是指定软件运行的系统平台,如果没有指定,将会自动去搜索

--host=arm-linux表示软件系统平台是ARM

上述指令执行完成以后显示如下图所示:

产生了configure文件
CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第5张图片

3 执行./configure*命令

同上一步,configure*配置默认的是gcc编译器,我们现在是在ARM平台上进行编译,所以需要更改编译器

指令如下:

./configure --prefix=/home/ubuntu/Documents/install_ARM/ CC=/usr/local/arm/aarch64--glibc--stable-2022.03-1/bin/aarch64-linux-gcc CXX=/usr/local/arm/aarch64--glibc--stable-2022.03-1/bin/aarch64-linux-g++ --host=arm-linux

此指令的解释与第二步中相同,就不赘述啦

执行结果如下图所示:

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第6张图片

4 make编译

linux终端输入:make

如下图所示:

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第7张图片

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第8张图片

5 make install 安装

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第9张图片

安装完成之后,在安装路径下打开CUnit库文件查看文件类型属性

输入:file 文件名

显示结果如下图所示,说明ARM架构上CUnit搭建完成

CUnit在ARM平台上的离线搭建(让CUnit编译安装成功之后的可执行文件.so变成ARM下的—ARM aarch64)(实用篇)_第10张图片
完结撒花~~~~

你可能感兴趣的:(Linux篇,arm开发)