1,编写C++代码app.cpp:
#pragma once #include <cstdio> int main(char** args, int size) { #ifdef _DEBUG printf("debug\n"); #endif #ifdef NDEBUG printf("release\n"); #endif return 1; }
2,编写CMakeLists.txt:
cmake_minimum_required(VERSION 3.5) set(PROJECT_ROOT_PATH "./") add_executable(app ${PROJECT_ROOT_PATH}/app.cpp)
3,创建构建目录(以下目录为手动创建,非cmake自动生成),结构如下:
cmake-test
|—— app.cpp
|——CMakeLists.txt
|——build/
|——Release.x64/
|——Release.x86/
|——Debug.x64/
|——Debug.x86/
4,打开cmd,定位到:D:\Program Filesx86\Microsoft Visual Studio 14.0\VC\,执行命令:
vcvarsall.bat x64
如果觉得这样启动麻烦,可以建个vc_build_x64.bat批处理脚本,内容如下:
d: cd D:\Program Filesx86\Microsoft Visual Studio 14.0\VC\ start vcvarsall.bat x64
5,再定位到构建目录:cmake-test/build/Release.x64/,执行命令:
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ../..
6,第五步-生成配置文件完成后,再执行命令:
nmake
7,这时目录下Release.x64目录下会生成exe文件:app.exe,运行这个exe,得到输出结果:
release
表示我们构建的确实是release而非debug。
over
相关推荐
- **项目**:指通过CMake构建的一个软件单元。 - **源文件**:编写应用程序或库的源代码文件。 - **可执行文件**:通过编译链接过程生成的应用程序文件。 - **库文件**:可以是静态库或动态库,供其他项目链接...
本教程“cmake入门教程(linux)”将引导你了解和掌握CMake的基础知识,虽然它针对Linux环境,但Windows用户同样能从中受益。 在Linux环境中,CMake通常用来替代make工具,因为CMake支持更为灵活的构建配置,并且可以...
通过以上介绍,我们可以看到CMake不仅仅是一个简单的构建工具,它还具备强大的扩展性和灵活性,能够满足不同规模项目的构建需求。无论是初学者还是经验丰富的开发者,都可以通过学习和掌握CMake来提高软件开发效率。
文档提供了一个简单的示例项目,通过这个示例项目,学习者可以直观地了解如何使用CMake来构建一个C++程序。通过示例,可以学习到如何添加新的特性以及如何利用C++11和之后的标准特性。 ### 其他特性 除了基本构建...
**CMake快速入门及代码详解** CMake是一个跨平台的构建系统,用于管理软件构建过程。它不直接构建你的项目,而是生成特定平台的构建工具(如Unix的makefile或Windows的Visual Studio项目)来执行实际的构建。CMake...
以下是一个简单的CMakeLists.txt文件示例,它展示了如何使用上述命令来构建一个简单的C++程序: ```cmake cmake_minimum_required(VERSION 3.10) project(MyProgram) # 添加源文件 aux_source_directory(src ...
根据提供的文件信息,CMake中文手册.pdf是一份关于CMake构建系统的翻译文档,内容涵盖了CMake的主要模块(cmake、ctest、cpack)的功能与使用方法,并通过一个示例工程来展示如何从简单到复杂地构建项目。...
通过编写 CMakeLists.txt 文件,开发者可以定义项目的构建规则,然后 CMake 会生成对应平台的本地构建文件,如 Unix 下的 Makefile 或 Windows 上的 Visual Studio 工程。 ### 1. 什么是 CMake CMake 不是一个传统...
3. **易于使用的语法:**CMake使用简单的命令行语法,易于理解和编写,这使得即使是新手也能快速上手。 4. **强大的扩展性:**CMake支持自定义模块和宏,允许开发者根据需要编写特定的功能,从而提高构建效率。 5. *...
通过深入学习"NDK CMake入门基础",开发者可以掌握利用CMake构建Android原生库的关键技巧,提高开发效率,同时充分利用C++的强大功能,提升应用的性能表现。实践是检验理论的最好方式,你可以通过CMakeNdk1项目中的...
【NDK(cmake)入门 博客配套代码】 在Android开发中,NDK(Native Development Kit)是一个重要的工具集,允许开发者使用C/C++编写原生代码,以提高应用程序的性能,尤其是对于处理密集型计算或者图形渲染的任务。...
在提供的压缩包中,"cmake学习工程示例文档"可能包含了详细的步骤和解释,指导你如何从零开始建立一个简单的CMake项目。这可能涵盖创建`CMakeLists.txt`文件,定义目标,设置编译选项,以及如何运行CMake来生成构建...
理解头文件的组织结构对于掌握CMake构建过程至关重要,因为CMakeLists.txt会指定哪些头文件需要被编译器找到。 "src"目录则包含项目的源代码文件,比如".cpp"或".c"文件。这些文件将被CMakeLists.txt中的`add_...
CMake不直接构建代码,而是生成特定平台的构建文件,如Unix下的Makefile或Windows上的Visual Studio项目文件。通过这种方式,CMake实现了对不同操作系统和编译器的支持。 《CMake-Practice.pdf》可能是关于如何实际...
这有助于确保项目可以在特定版本的 CMake 下正确构建。 2. **`project`**:定义了项目的名称。 3. **`add_executable`**:添加了一个可执行文件目标,并指定了源文件 `tutorial.cxx`。 ##### tutorial.cxx 示例代码...
《Professional CMake: A Practical Guide》不仅为初学者提供了入门指导,也为经验丰富的开发者提供了深入的技术细节和最佳实践建议,有助于读者更好地掌握CMake工具的使用方法,从而提高项目的构建效率和质量。
【CMakeDemo.zip】是一个包含使用CMake构建项目的示例代码集合。这个压缩包主要针对的是CMake这一跨平台的构建工具,它可以帮助开发者在不同的操作系统上统一管理编译过程。通过CMake,你可以编写一个名为`...
对于C++开发者来说,CMake提供了一个统一的方式来配置构建流程,无论目标平台是Windows、Linux还是macOS。 ### CMake基础知识 1. **CMake语句**:CMake使用一种简单的脚本语言,主要由命令组成,如`project()`, `...