1.前提条件
1.1 arm交叉编译器已经安装
1.2 cmake已经安装
2.编写CMakeList.txt
3.编写toolchain.cmake
用于指定cmake的交叉编译工具链。
实际操作如下:
文件列表:
main.c //打印hello Kitty
#include <stdio.h>
int main(){
print("hello kitty\n");
return 0;
}
CMakeList.txt
cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(recipe-01 LANGUAGES C)
add_executable(cal main.c)
toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux) #这里以Linux为例
set(TOOLCHAIN_PATH /home/test/src/func/build) 这里指定toolchain的目录
set(TOOLCHAIN_PATH ${tools}/usr/local/arm/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc) 这里指定交叉编译工具的路径
set(TOOLCHAIN_PATH ${tools}/usr/local/arm/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++) 这里指定交叉编译工具的路径
执行命令:
mkdir -p build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=/home/test/func/bulid/toolchain.cmake ..
注意-D选项后面没有空格, 最后有指定目录 ..
最后执行make命令,就可以生成ARM架构下的可执行程序了,可以先使用file命令查看一下。
file cal 若看到armxxx等,表示编译成功。