cmake 实现交叉编译注意事项

(1)确保安装交叉编译工具安装成功

  在终端输入arm-linux-gnueabihf-g++ -v 或 arm-linux-gnueabihf-gcc -v ,能看到相应交叉C编译器和C++编译器的版本信息;

(2)很多文件时,需要采用cmake管理,这时就需要将以往的gcc编译器更改为交叉编译器,执行set 文件CMakeLists.txt中的CMAKE_C_COMPILER 和 CMAKE_CXX_COMPILER变量,也可以通过ADD_DEFINITIONS()指令进行添加;

  指定C编译器:SET(CMAKE_C_COMPILER  "编译器绝对路径")

  指定C++编译器:SET(CMAKE_C_COMPILER  "编译器绝对路径")

以上以及实现编译器的调用,以下为自己吐血反思:

  由于不习惯看大写英文,对cmake学艺不精,造成了cmake大小写不区分,其实变量和参数是区分大小写的;然后CMAKE_C_COMPILER 如果用小写,那么该编译选项就设置不成功,于是很简单的切换编译器就被自己脑洞打开,加上部分博客的迷惑,什么编译器复制到/opt...、打开cmake gui、tools....,差点遁入泥炭。还好在吃饭时悟出一个道理,camke与编译器之间根本没关系,就是一个指定的过程,cmake是老板,编译器是搬砖的,指导谁去搬砖哪有那么困难,于是跳出博客泥炭。开始在camke上寻找答案,不具体且...的官方文档,蒙圈。最后在cmake实践这本电子书中,从看compiler相关介绍,无意看到依据变量与参数区分大小写。麦嘎!回去一改,ok了

  make以后,用 (file  生成可执行文件) 这条指令运行以后,ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV)......,醒目的ARM不禁让人无奈一笑,以此记之,记录被习惯于用小写英文所踩的坑。

原文地址:https://www.cnblogs.com/yxh-l-0824/p/13254891.html