交叉编译时需要用到arm的库,在终端source过之后可以正常编译为arm板的可执行文件。
为了后续方便起见,写了build.sh文件见下:
#!/bin/bash
root_dir=$(pwd)
source /opt/fsl-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux
cd $root_dir/build
cmake ../
make
之后运行
sh build.sh
发现得到的可执行程序始终是x86架构下的程序,(可以通过"file 文件名"
来查看文件属性)
后续查找资料后发现,sh命令无法识别source命令,导致没有执行该语句,所以得到的可执行文件有问题。
解决方案:
1、不用sh运行build.sh文件,运行
bash build.sh
即可
2、给build.sh赋权限chmod +x build.sh
,之后运行
./build.sh
即可