linux cmake增量编译,Cmake 设置交叉编译环境

我用的是合众达的dm6446.

一  首先安装CMAKE

下载cmake 然后解压缩,进入解压缩后的目录,依次执行

# ./bootstrap

# make && make install

安装过程需要几分钟。

二 构建交叉编译的CMakeLists.txt

说明:

设置交叉编译之前,必须在CMakeList.txt前面加上这样一句,这样CMake才会认为你是要交叉编译:

SET(CMAKE_SYSTEM_NAME Linux)

在通知CMake要交叉编译以后,还要告诉CMake到哪个路径下去找库文件,因为在交叉编译的时候CMake是不会自动去系统默认的目录找库文件和头文件的:

SET(CMAKE_FIND_ROOT_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)

其中的第一行,是告诉CMake查找的根目录是什么。后面分别是告诉CMake怎么查找编译时候的工具程序的位置、库的位置和头文件的位置。设置为NEVER表示不查找,设置为ONLY表示只在CMAKE_FIND_ROOT_PATH设定的目录下查找,设置为BOTH(这是默认选项)表示既可以在系统目录下查找,也可以在CMAKE_FIND_ROOT_PATH下查找。因为咱们是交叉编译,所以后两项的设置了ONLY,对于编译时调用工具,一般来说是需要在系统目录下查找的,不过我不需

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CMake是一个跨平台的构建工具,它可以帮助开发者生成各种不同平台的编译脚本和构建配置。增量编译是指在项目代码没有发生变化的情况下,只编译发生变化的部分,而不是重新编译整个项目。 在CMake中,可以通过使用目标的依赖关系来实现增量编译。当一个目标依赖于其他目标时,在构建过程中,CMake会自动检查目标的依赖关系,只重新编译需要更新的目标。 要实现增量编译,可以按照以下步骤操作: 1. 定义目标之间的依赖关系:在CMakeLists.txt文件中,使用`add_dependencies()`函数将目标之间的依赖关系添加到CMake中。例如,如果目标B依赖于目标A,则可以使用以下语法:`add_dependencies(B A)`。 2. 设置目标的输出文件:在定义目标时,使用`add_executable()`或`add_library()`函数设置目标的输出文件。这样,CMake可以根据输出文件的时间戳来判断是否需要重新编译目标。 3. 运行CMake生成构建系统:在命令行中使用`cmake`命令生成构建系统。例如,可以使用以下命令来生成Makefile:`cmake -B build`。 4. 构建项目:进入生成的构建系统目录,并使用构建工具(如make)来构建项目。例如,可以使用以下命令来编译项目:`cmake --build build`。 当代码发生变化时,CMake会根据目标的依赖关系重新编译需要更新的目标,从而实现增量编译。这样可以大大减少重新编译的时间,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值