您的位置:首页 > 其它

cmake 配置交叉编译工作记录

2017-11-30 10:28 281 查看

cmake 配置交叉编译工作记录

本文作为cmake配置交叉编译过程记录!

测试工程建立

CMakeCache.txt文件编写

cmake_install.cmake 配置文件编写

cmake_build

测试工程

使用简单的的命令行:

$mkdir arm_cmake #创建测试文件夹
$vim hello.c     #创建测试源文件


编写CMakeCache.txt

cmake_minimum_required(VERSION 2.8)

project(hello C)
add_executable(${PROJECT_NAME} "hello.c")


编写cmake_install.cmake

set(CMAKE_SYSTEM_NAME Linux)

set(BINUTILS_PATH "/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf")
set(CMAKE_INSTALL_RPATH "/home/cage/work/arm_cmake")

set(TOOLCHAIN_PREFIX arm-linux-gnueabihf-)

set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc )
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++)

set(CMAKE_FIND_ROOT_PATH ${BINUTILS_PATH})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)


运行cmake

命令行 1

$cd arm_cmake
$mkdir build
$cd  build
$cmake -DCMAKE_TOOLCHAIN_FILE=../arm-gcc-toolchain.cmake ..
$cmake --build .


打印生成文件属性

$file hello
hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=4a85afb0585242a2414fc6c73f58f0e699122f37, not stripped


命令行 2

$cd arm_cmake
$mkdir build
$cd  build
$cmake -DCMAKE_TOOLCHAIN_FILE=../arm-gcc-toolchain.cmake ..
$make


cmake在build文件夹成了Makefile,使用make命令是一样的效果。

通过cmake-gui图像界面生成Makefile同样能达到目的:

以下贴下图像界面的截图:







通过cmake-gui在build文件夹生成了Makefile,继续前面的步骤就可以!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cmake arm 交叉编译