`
aigo
  • 浏览: 2635083 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[cmake]windows下构建简单入门示例

阅读更多

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从入门到精通.pdf

    - **项目**:指通过CMake构建的一个软件单元。 - **源文件**:编写应用程序或库的源代码文件。 - **可执行文件**:通过编译链接过程生成的应用程序文件。 - **库文件**:可以是静态库或动态库,供其他项目链接...

    cmake入门教程(linux)

    本教程“cmake入门教程(linux)”将引导你了解和掌握CMake的基础知识,虽然它针对Linux环境,但Windows用户同样能从中受益。 在Linux环境中,CMake通常用来替代make工具,因为CMake支持更为灵活的构建配置,并且可以...

    cmake 入门经典教程

    通过以上介绍,我们可以看到CMake不仅仅是一个简单的构建工具,它还具备强大的扩展性和灵活性,能够满足不同规模项目的构建需求。无论是初学者还是经验丰富的开发者,都可以通过学习和掌握CMake来提高软件开发效率。

    modern-cmake.pdf

    文档提供了一个简单的示例项目,通过这个示例项目,学习者可以直观地了解如何使用CMake来构建一个C++程序。通过示例,可以学习到如何添加新的特性以及如何利用C++11和之后的标准特性。 ### 其他特性 除了基本构建...

    cmake 快速入门及代码

    **CMake快速入门及代码详解** CMake是一个跨平台的构建系统,用于管理软件构建过程。它不直接构建你的项目,而是生成特定平台的构建工具(如Unix的makefile或Windows的Visual Studio项目)来执行实际的构建。CMake...

    cmake入门基本介绍

    以下是一个简单的CMakeLists.txt文件示例,它展示了如何使用上述命令来构建一个简单的C++程序: ```cmake cmake_minimum_required(VERSION 3.10) project(MyProgram) # 添加源文件 aux_source_directory(src ...

    CMake中文手册.pdf

    根据提供的文件信息,CMake中文手册.pdf是一份关于CMake构建系统的翻译文档,内容涵盖了CMake的主要模块(cmake、ctest、cpack)的功能与使用方法,并通过一个示例工程来展示如何从简单到复杂地构建项目。...

    CMake 入门实战1

    通过编写 CMakeLists.txt 文件,开发者可以定义项目的构建规则,然后 CMake 会生成对应平台的本地构建文件,如 Unix 下的 Makefile 或 Windows 上的 Visual Studio 工程。 ### 1. 什么是 CMake CMake 不是一个传统...

    cmake实践.pdf

    3. **易于使用的语法:**CMake使用简单的命令行语法,易于理解和编写,这使得即使是新手也能快速上手。 4. **强大的扩展性:**CMake支持自定义模块和宏,允许开发者根据需要编写特定的功能,从而提高构建效率。 5. *...

    NDK CMake入门基础

    通过深入学习"NDK CMake入门基础",开发者可以掌握利用CMake构建Android原生库的关键技巧,提高开发效率,同时充分利用C++的强大功能,提升应用的性能表现。实践是检验理论的最好方式,你可以通过CMakeNdk1项目中的...

    NDK(cmake)入门 博客配套代码

    【NDK(cmake)入门 博客配套代码】 在Android开发中,NDK(Native Development Kit)是一个重要的工具集,允许开发者使用C/C++编写原生代码,以提高应用程序的性能,尤其是对于处理密集型计算或者图形渲染的任务。...

    cmake从入门学习到精通,个人手写工程实例

    在提供的压缩包中,"cmake学习工程示例文档"可能包含了详细的步骤和解释,指导你如何从零开始建立一个简单的CMake项目。这可能涵盖创建`CMakeLists.txt`文件,定义目标,设置编译选项,以及如何运行CMake来生成构建...

    cmake_learn.zip

    理解头文件的组织结构对于掌握CMake构建过程至关重要,因为CMakeLists.txt会指定哪些头文件需要被编译器找到。 "src"目录则包含项目的源代码文件,比如".cpp"或".c"文件。这些文件将被CMakeLists.txt中的`add_...

    CMake学习资料.rar

    CMake不直接构建代码,而是生成特定平台的构建文件,如Unix下的Makefile或Windows上的Visual Studio项目文件。通过这种方式,CMake实现了对不同操作系统和编译器的支持。 《CMake-Practice.pdf》可能是关于如何实际...

    CMake Tutorial

    这有助于确保项目可以在特定版本的 CMake 下正确构建。 2. **`project`**:定义了项目的名称。 3. **`add_executable`**:添加了一个可执行文件目标,并指定了源文件 `tutorial.cxx`。 ##### tutorial.cxx 示例代码...

    professional cmake a practical guide

    《Professional CMake: A Practical Guide》不仅为初学者提供了入门指导,也为经验丰富的开发者提供了深入的技术细节和最佳实践建议,有助于读者更好地掌握CMake工具的使用方法,从而提高项目的构建效率和质量。

    CMakeDemo.zip

    【CMakeDemo.zip】是一个包含使用CMake构建项目的示例代码集合。这个压缩包主要针对的是CMake这一跨平台的构建工具,它可以帮助开发者在不同的操作系统上统一管理编译过程。通过CMake,你可以编写一个名为`...

    cpp-CMake初学者指南或如何快速启动并运行CMake

    对于C++开发者来说,CMake提供了一个统一的方式来配置构建流程,无论目标平台是Windows、Linux还是macOS。 ### CMake基础知识 1. **CMake语句**:CMake使用一种简单的脚本语言,主要由命令组成,如`project()`, `...

Global site tag (gtag.js) - Google Analytics