arm64架构开发板上安装编译cmake与make

一、安装make

make安装上,官方没有提供方便的安装包用于直接下载;故采用外部交叉编译+打包传输的方式,移植到开发板上。

外部环境:ubuntu系统

1.准备交叉编译工具

下载交叉编译器

sudo apt install gcc-aarch64-linux-gnu

检验下载是否成功:

gcc-aarch64-linux-gnu --version

 应有以下输出:

为安装完成

2.获取源码包

官网提供了开源的源码包,通过wget获取开源源码包,下载并解压在本地

wget https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz

tar xzvf make-4.4.1.tar.gz

cd make-4.4.1
ls

文件夹应有以下内容:

确保configure文件的存在

3.编译安装

在解压后的make-4.4.1(或其他版本)文件夹下,进行编译安装:

文件验证与编译

./configure --host=aarch64-linux-gnu \
	--prefix=/home/huangjune/getmake/make_arm64/ \
	--without-guile

这里有多个参数。

第一个参数为交叉编译工具,即最开始一步下载的工具。

第二个为输出地址,根据自己想要的输出位置,填入绝对地址。(经过测试,不能以~/开头,必须标明/home/用户名)

第三个为guile链接的禁用,这里为了轻量化而牺牲一些guile库的功能。

make安装

make -j$(nproc)

make install

安装结束没有报错的情况下,可以进入输出地址,查看是否有文件输出

文件输出格式类似如下:

-输出文件夹
    -bin
        -make
        ……
    -include
    -share

make文件位于bin目录下。

可以通过file验证,确保该文件架构为arm64

file ……/bin/make

输出应该如下:

输出中有ELF 64-bit  、 ARM aarch64字样即为成功。

4.打包传输

——需要环境配置版:

将整个输出文件夹打包,传输至开发板板端;

tar czvf make-arm64.tar.gz make_arm64/

scp make-arm64.tar.gz root@192.168.7.2:/opt/

进入解压

cd /opt

tar xzvf make-arm64.tar.gz

开发板端,我们可以设置该位置的bin目录下为PATH地址;

会自动寻找到该目录下的make:

export PATH=/opt/make_arm64/bin:$PATH
make --version

查看版本可以验证安装成功。

——当然,如果不想每次都配置环境,也可以把以上这行代码放进./bash中;而其实还有一个更为简单的方法:

——把make直接解压到usr/中:

方法很简单:只需要在压缩前先将整个包的名字改成usr/;

同样传输进入开发板;

tar czvf make_into-usr.tar.gz usr/

scp make_into-usr.tar.gz root@192.168.7.2:/root/

在开发板解压,注意此时需要解压到根文件目录下

tar -xzvf gcc_rootfs.tar.gz -C /

此时就已经把所有文件解压到usr/相应位置。此时make位于usr/bin文件夹下

二、安装cmake

1.获取下载

CMake官方提供了可以直接下载压缩包的链接,可以供直接解压安装。

在可联网的任意主机上访问下载地址:

Download CMakehttps://cmake.org/download/下载页面下方选择Linux aarch64版本、 .tar.gz格式的压缩包

将压缩包传输至开发板

scp cmake-4.1.0-rc1-linux-aarch64.tar.gz root@192.168.7.2:/opt/

2.解压安装

来到开发板端,直接解压文件

cd opt/

tar xzvf cmake-4.1.0-rc1-linux-aarch64.tar.gz

解压后,直接可以得到类似make的文件结构:

cmake位于bin文件夹下

可以设置PATH,直接使用cmake查看版本,检查安装

export PATH=/opt/cmake-4.1.0-rc1-linux-aarch64/bin:$PATH

cmake --version

opencv2.4.4移植到ARM 一、编译环境及库文件 linux环境:ubuntu 11.10 交叉编译:4.6.1 opencv: opencv-2.4.4 cmake: cmake-2.8.1-Linux-i386.tar.gz 二、opencv-2.4.4的移植过程 解压cmake-2.8.1-Linux-i386.tar.gz到/usr/local/ cmake-2.8.1 #export PATH= /usr/local/ cmake-2.8.1/bin:$PATH 用到的主要目录说明: 交叉编译工具链所在目录 /usr/local/arm-4.6.1/ 安装opencv的目录 /usr/local/ opencv源码所在目录 /usr/local /opencv-2.4.4 编译好的opencv库所在目录 /usr/local /opencv-2.4.4/build 默认安装目录为/usr/local #mkdir build #cd build #cmake-gui 选择源代码目录 /usr/local /opencv-2.4.4 选择Build目录 /usr/local /opencv-2.4.4/build 点击Configure,保持generator为Unix Makefiles,选择Specify options for cross-compiling,点击Next, Operating System填写arm-linux C Compilers填写/usr/local/arm-4.6.1//bin/arm-none-linux-gnueabi-gcc C++ Compilers填写/usr/local/arm-4.6.1//bin/ arm-none-linux-gnueabi -g++ 程序库的Target Root填写/usr/local/arm-4.6.1/ 然后点击Finish,开始configure 点击Generate生成Makefile(等configure完之后按钮才能点击) #make 错误一: Linking CXX executable ../../bin/opencv_createsamples ../../lib/libopencv_core.so: undefined reference to `clock_gettime' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFerrorHandler' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFrealloc' ../../lib/libopencv_core.so: undefined reference to `pthread_key_create 解决方法: 修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,重新编译,错误消除 错误二: Linking CXX executable ../../bin/opencv_createsamples ../../lib/libopencv_highgui.so: undefined reference to `_TIFFerrorHandler' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFrealloc' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFmalloc' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcpy' ../../lib/libopencv_highgui.so: undefined reference to `TIFFOpen' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFfree' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFwarningHandler' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcmp' ../../lib/libopencv_high
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值