讲道理,嵌入式一般用makefile就够了。 先记下这个模版以备不时之需。
cmake需要构建两个文件:.cmake和CMakeLists.txt
1. 构建toolchain.cmake
# 指定目标系统
set(CMAKE_SYSTEM_NAME Linux)
# 指定目标平台
set(CMAKE_SYSTEM_PROCESSOR arm)
# 指定交叉编译工具链路径
set(CROSS_CHAIN_PATH /home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin)
# 指定C编译器
set(CMAKE_C_COMPILER "${CROSS_CHAIN_PATH}/arm-buildroot-linux-gnueabihf-gcc")
# 指定C++编译器
set(CMAKE_CXX_COMPILER "${CROSS_CHAIN_PATH}/arm-buildroot-linux-gnueabihf-g++")
2. 构建CMakeLists.txt
# 指定为给定范围的cmake版本
cmake_minimum_required(VERSION 3.10)
# 指定工程名为cmaketest
project(cmake_test)
# 根据指定的源文件列表构建出可执行目标文件
add_executable(cmake_test my_final_camera.c)
# 链接需要的库
target_link_libraries(cmake_test -lpthread -ljpeg -lts)
3.输入命令
mkdir -p build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake ..
make