CMake的应用(在vision studio2008中去掉 ALL_BUILD 和 ZERO_CHECK)

本文介绍CMake作为跨平台构建工具,在Visual Studio 2008中的使用方式及其特点。CMake能简化工程构建流程,减少对底层系统的依赖,并详细解释了在VS2008解决方案中包含的ALL_BUILD和ZERO_CHECK工程的作用。

       一般由CMake是 跨平台软件开发和维护过程的 工程构建工具。“在每个系统构建你的工程,而无须关心创建可执行文件和动态库的具体方法”。

      CMake 相对于其他类似工具(shell脚本、Makefiles、Jam文件、基于复杂的脚本的工程像Autoconf和Automake),CMake 对底层系统做更少的假设。CMake使用标准C++实现,所以他可以在大多数现代操作系统上运行。它不使用除了系统的本地构建工具外的其他的工具。

      一般CMake 在Vision studio2008 上 构建的工程(.sln “solution”)包含 三个工程(project),分别是:ALL_BUILD工程本身如:HelloCMake; ZERO_CHECKHelloCMake就不用说了,自己要建立的那个工程;ALL_BUILD是管理整个项目的工程;ZERO_CHECK是实时监视CMakeLists.txt文件变化的工程,一旦CMakeLists.txt里的内容发生了任何变化,ZERO_CHECK就会告诉编译器要重新构建整个工程环境。详见http://blog.163.com/jacky_ling0/blog/static/1373925712011072375418/?latestBlog

      如我们只有一个工程(project)在解决方案(solution)中,那么ALL_BUILD 和 ZERO_CHECK工程可以删除掉。

 

连CMakelists.txt也可以“Remove”掉

 

最后 记住重新 Save 存盘,然后再按 F7 “build” 就 OK。

 

关于CMame学习的好的blog见下:

http://blog.youkuaiyun.com/Bowater/archive/2008/05/18/2456732.aspx

http://blog.163.com/jacky_ling0/blog/static/1373925712011072375418/?latestBlog

 

<think>好的,我需要帮助用户了解如何在CMake构建过程中使用`make cmake_check_build_system`命令来检查构建系统的正确性。首先,我应该回忆一下CMake的构建流程相关机制。 根据用户的引用内容,CMake在配置阶段会处理各种平台编译器的特定文件,如Platform/${CMAKE_SYSTEM_NAME}.cmake等[^1][^3]。生成构建系统后,用户通常使用`cmake --build .`来执行构建[^2]。但是用户提到的`make cmake_check_build_system`看起来像是Makefile生成的一个特定目标,可能用于验证构建系统是否正确生成。 接下来,我需要确认这个命令的具体作用。在CMake生成的Makefile中,可能存在一些辅助目标,比如`cmake_check_build_system`,它可能用于检查CMakeLists.txt是否有变动,是否需要重新生成构建系统。例如,当用户修改了CMakeLists.txt后,执行这个目标可能会触发重新运行CMake,确保构建系统是最新的。 然后,结合引用中的信息,当交叉编译,正确设置变量如`CMAKE_SYSTEM_NAME``CMAKE_SYSTEM_PROCESSOR`非常重要。如果构建系统没有正确配置,可能导致编译错误。因此,使用`make cmake_check_build_system`可能是在构建前的一个验证步骤,确保所有配置正确应用。 最后,我需要验证这个命令的使用方法是否正确。通常,用户在使用Makefile构建,可以运行`make`或特定目标。例如,运行`make cmake_check_build_system`会执行该目标对应的命令,可能包括检查依赖重新生成必要的构建文件。此外,用户可能需要先运行`cmake`生成Makefile,然后才能使用`make`命令。 总结来说,用户的问题是如何在CMake构建过程中使用`make cmake_check_build_system`,这应该是在生成Makefile后,通过运行该Make目标来触发构建系统的检查,确保配置正确无误。</think>在CMake构建过程中,`make cmake_check_build_system` 是CMake生成的Makefile中预定义的目标,用于强制检查CMakeLists.txt的更新状态并重新生成构建系统。以下是具体操作步骤: 1. **生成构建系统** 首先通过`cmake`生成Makefile。例如: ```bash cmake -S /path/to/source -B /path/to/build ``` 若涉及交叉编译,需设置系统变量如`-DCMAKE_SYSTEM_NAME=WindowsCE` 2. **执行构建系统检查** 进入构建目录并运行目标: ```bash cd /path/to/build make cmake_check_build_system ``` 此命令会: - 检查CMakeLists.txt是否被修改 - 若检测到更新,自动重新运行CMake以刷新构建系统 - 确保生成的Makefile与当前配置同步 3. **完整构建流程示例** ```bash mkdir build && cd build cmake .. -DCMAKE_SYSTEM_PROCESSOR=ARMV4I # 交叉编译示例[^2] make cmake_check_build_system # 显式触发检查 make # 正式构建 ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值