CMake入门1——CMake与VS编译器和nmake的结合使用
2018-01-11 12:14
295 查看
下载
安装
例1 使用cmake-gui与VS生成器
例3 PreLoadcmake用法
本文描述在Win10-64位系统中安装CMake、cmake-gui的简单使用及其与VS2015编译器的结合使用,以及cmake命令行与nmake的结合使用。
双击下载的安装包,进入安装界面,点击[Next]。
勾选同意许可后,点击[Next]。
可在此处选择将CMake路径添加到环境变量中,并且创建CMake GUI程序的桌面快捷方式。然后点击[Next]。
可在此处自定义安装目录,设置好后点击[Next]。
开始安装,安装完成后点击[Next]。
安装完成,点击[Finish],结束安装过程。
安装完成后,即可使用CMake了。在命令行中输入
1. 新建CMakeTest目录,在CMakeTest目录下新建demo1目录,作为测试项目的根目录。在demo1下新建main.cpp和CMakeLists.txt文件。
main.cpp文件的内容很简单,就是输出一个提示字符串:
CMakeLists文件内容如下:
CMakeLists.txt 的语法比较简单,由命令、注释和空格组成。命令由命令名称、小括号和参数组成,参数之间使用空格进行间隔,且命令是不区分大小写的。符号 # 后面的内容被认为是注释。
对于上面的 CMakeLists.txt 文件,依次出现了几个命令:
cmake_minimum_required:指定运行此配置文件所需的 CMake 的最低版本,如果低于3.10.1版本,则构建过程会被终止
project:参数值是 demo1,该命令表示项目的名称是 demo1
add_executable: 将名为 main.cpp 的源文件编译成一个名称为 demo 的可执行文件
2. 打开cmake-gui程序,在上方配置两个目录:
第一个是CMakeLists文件目录,cmake据此开始执行
第二个是cmake构建后的项目目录
3. 配置好点击[Configure]开始执行配置过程。首先会弹出编译器选择界面,此处使用默认的VS2015-32位编译器,直接点击[Finish],开始配置。
4. 第一次配置完成后如图所示,红色的两行是新的配置值,再次点击[Configure]即可。
5. 配置完成后,在build目录生成了如下的文件
6. 点击[Generate],开始生成VS项目
7. 生成完成后,在build目录下生成了demo1对于的VS项目
8. 通过点击cmake-gui中下放的[Open Project]按钮或者直接双击build目录下的demo1.sln,即可在VS中打开工程。
9. cmake生的demo1工程总共有3个项目
ZERO_CHECK:该项目会检查生成工程的 CMake 配置文件( CMakeLists.txt )是否更新。如更新,将运行 CMake 重新生成工程文件。如果确信 CMakeLists.txt 不会被更新,或者希望手工运行 CMake 重新生成工程文件,可以在 CMakeLists.txt 配置文件中添加 set(CMAKE_SUPPRESS_REGENERATION FALSE) 命令, ZERO_CHECK 目标将不会生成。
ALL_BUILD:该目标会导致工程中所有项目被构建,类似 Visual Studio 的 Build All 或者 make 的 make all命令。
demo:项目本身,就是在CMakeLists.txt文件中配置的
10. 在VS中通过单独生成项目demo1或者直接生成项目All_BUILD后,可以在build下的相应目录看到可执行文件demo.exe已经生成。双击demo.exe后,可以看到程序输出。
11. 如果不想用VS打开工程,也可以使用msbuild.exe编译demo1工程。首先需要打开VS命令行,因为cmake-gui中选择的编译器是32位的,所以此处选择”VS2015 x86 本机工具命令提示符”。
打开后在命令行中进入到demo1的build目录,执行
#例2 使用cmake命令与nmake生成器
本例使用cmake命令行与nmake生成器构建Makefile,然后用nmake编译项目。
1. 新建项目demo2,将demo1中的main.cpp和CMakeLists.txt文件拷贝过来。将CMakeLists.txt文件中的project项目配置为demo2。
2. 同样从VS命令行进入到demo2目录,执行命令:
执行完毕后,即可看到在demo2目录中生成了一些文件:
其中重要的是Makefile文件,这是用来编译项目的。在命令行中继续执行nmake命令开始编译,编译完成后可以看到在demo2目录生成了demo.exe程序。允许后可以看到输出。
然后执行
安装
例1 使用cmake-gui与VS生成器
例3 PreLoadcmake用法
本文描述在Win10-64位系统中安装CMake、cmake-gui的简单使用及其与VS2015编译器的结合使用,以及cmake命令行与nmake的结合使用。
下载
从CMake官网上下载最新版本的安装包,本文中下载的是 cmake-3.10.1-win64-x64.msi。若不想安装,可直接下载压缩包版本cmake-3.10.1-win64-x64.zip。安装
CMake的安装非常简单。压缩包版本直接解压即可,安装版本也可一直点击下一步进行安装。为了使用方便,可将CMake配置到环境变量中,当然,这一步也可以在安装过程中设置。另外需要注意的是为了避免不必要的麻烦,路径中最好不要包括中文字符。下面简单描述一下安装过程。双击下载的安装包,进入安装界面,点击[Next]。
勾选同意许可后,点击[Next]。
可在此处选择将CMake路径添加到环境变量中,并且创建CMake GUI程序的桌面快捷方式。然后点击[Next]。
可在此处自定义安装目录,设置好后点击[Next]。
开始安装,安装完成后点击[Next]。
安装完成,点击[Finish],结束安装过程。
安装完成后,即可使用CMake了。在命令行中输入
"cmake --version",可看到如下图所示的输出。
例1 使用cmake-gui与VS生成器
本例使用cmake-gui和VS生成器构建出VS工程,然后用VS工具打开项目进行编译。1. 新建CMakeTest目录,在CMakeTest目录下新建demo1目录,作为测试项目的根目录。在demo1下新建main.cpp和CMakeLists.txt文件。
main.cpp文件的内容很简单,就是输出一个提示字符串:
#include <iostream> using namespace std; void main() { cout<<"cmake test demo 1"<<endl; getchar(); }
CMakeLists文件内容如下:
# CMake最低版本要求 cmake_minimum_required(VERSION 3.10.1) # 项目信息 project(demo1) # 指定生成目标 add_executable(demo main.cpp)
CMakeLists.txt 的语法比较简单,由命令、注释和空格组成。命令由命令名称、小括号和参数组成,参数之间使用空格进行间隔,且命令是不区分大小写的。符号 # 后面的内容被认为是注释。
对于上面的 CMakeLists.txt 文件,依次出现了几个命令:
cmake_minimum_required:指定运行此配置文件所需的 CMake 的最低版本,如果低于3.10.1版本,则构建过程会被终止
project:参数值是 demo1,该命令表示项目的名称是 demo1
add_executable: 将名为 main.cpp 的源文件编译成一个名称为 demo 的可执行文件
2. 打开cmake-gui程序,在上方配置两个目录:
第一个是CMakeLists文件目录,cmake据此开始执行
第二个是cmake构建后的项目目录
3. 配置好点击[Configure]开始执行配置过程。首先会弹出编译器选择界面,此处使用默认的VS2015-32位编译器,直接点击[Finish],开始配置。
4. 第一次配置完成后如图所示,红色的两行是新的配置值,再次点击[Configure]即可。
5. 配置完成后,在build目录生成了如下的文件
6. 点击[Generate],开始生成VS项目
7. 生成完成后,在build目录下生成了demo1对于的VS项目
8. 通过点击cmake-gui中下放的[Open Project]按钮或者直接双击build目录下的demo1.sln,即可在VS中打开工程。
9. cmake生的demo1工程总共有3个项目
ZERO_CHECK:该项目会检查生成工程的 CMake 配置文件( CMakeLists.txt )是否更新。如更新,将运行 CMake 重新生成工程文件。如果确信 CMakeLists.txt 不会被更新,或者希望手工运行 CMake 重新生成工程文件,可以在 CMakeLists.txt 配置文件中添加 set(CMAKE_SUPPRESS_REGENERATION FALSE) 命令, ZERO_CHECK 目标将不会生成。
ALL_BUILD:该目标会导致工程中所有项目被构建,类似 Visual Studio 的 Build All 或者 make 的 make all命令。
demo:项目本身,就是在CMakeLists.txt文件中配置的
project(demo1)
10. 在VS中通过单独生成项目demo1或者直接生成项目All_BUILD后,可以在build下的相应目录看到可执行文件demo.exe已经生成。双击demo.exe后,可以看到程序输出。
11. 如果不想用VS打开工程,也可以使用msbuild.exe编译demo1工程。首先需要打开VS命令行,因为cmake-gui中选择的编译器是32位的,所以此处选择”VS2015 x86 本机工具命令提示符”。
打开后在命令行中进入到demo1的build目录,执行
msbuild demo1.sln即可编译demo1项目。编译完成后可以在debug中看到生成的demo.exe文件,双击可运行。
#例2 使用cmake命令与nmake生成器
本例使用cmake命令行与nmake生成器构建Makefile,然后用nmake编译项目。
1. 新建项目demo2,将demo1中的main.cpp和CMakeLists.txt文件拷贝过来。将CMakeLists.txt文件中的project项目配置为demo2。
2. 同样从VS命令行进入到demo2目录,执行命令:
cmake -G "NMake Makefiles" .
执行完毕后,即可看到在demo2目录中生成了一些文件:
其中重要的是Makefile文件,这是用来编译项目的。在命令行中继续执行nmake命令开始编译,编译完成后可以看到在demo2目录生成了demo.exe程序。允许后可以看到输出。
例3 PreLoad.cmake用法
在命令行下使用cmake,需要用”-G”选项指定生成器。每次都输入感觉比较麻烦,可以将其配置在”PreLoad.cmake”文件中。新建项目demo3,准备好main.cpp和CMakeLists.txt文件,然后demo3目录下新建文件”PreLoad.cmake”,输入:set(CMAKE_GENERATOR "NMake Makefiles" CACHE INTERNAL "" FORCE)
然后执行
"cmake ."即可配置,然后执行
"nmake"就可以编译。
相关文章推荐
- Properties介绍入门。利用Properties存储键值对。Properties与流结合使用
- clion编写opencv, CmakeList的简单使用入门
- UWP开发入门(十九)——10分钟学会在VS2015中使用Git
- CrackMe分析-OD与IDA、VS结合使用
- CMake基础入门和使用
- android2.3以上简单入门jni之cmake的使用
- 使用AndroiStudio、Cmake 开发ndk 入门(上)
- CMake入门使用(二)子目录添加及安装至系统目录下
- 使用CMake生成sln项目和VS工程遇到的问题
- CMake使用入门
- 【C教程】怎么使用VS2015入门C语言?VS2015怎么写
- CMake使用入门
- CMake使用入门
- Spring框架(七)结合Hibernate基本使用入门介绍
- CentOS下编译安装MySQL5.5.x的版本需使用Cmake编译器
- VS结合VSS的使用贴士
- 关于使用VS生成Lua 5.2.3编译器与解释器 动态库 静态库
- C#新手入门代码 VS2015使用技巧 生成类图的步骤
- makefile教程---nmake命令编译器的使用
- VSCode基础使用+VSCode调试python程序入门