文档章节

CMake构建VS2017工程

shzwork
 shzwork
发布于 04/17 14:31
字数 675
阅读 25
收藏 0

1 安装VS2017/cmake
2 工程开发
3 生成VS2017工程
4 参考资料
1 安装VS2017/cmake
软件安装:

Visual Studio官网下载Visual Studio Community 2017,该版本是适用于学生、开源和个人开发人员的功能完备的免费IDE。Visual Studio Community 2017还可以免费安装Incredibuild,Incredibuild通过多台计算机并行编译可以极大的提高C/C++的编译和创建速度。
CMake官网下载最新的CMake版本,以保证对VS2017的支持。
注意事项:

CMake安装时要将安装目录添加到系统环境变量PATH。
在安装Visual Studio Community 2017时,需要将与Windows C/C++开发有关的Tools、SDK都选中;否则,后续通CMake生成VS2017工程时,可能出现如下错误,如果出现下述错误,添加相应组件重新安装即可:
E:\demo\project
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (PROJECT):
  No CMAKE_C_COMPILER could be found.

CMake Error at CMakeLists.txt:2 (PROJECT):
  No CMAKE_CXX_COMPILER could be found.

-- Configuring incomplete, errors occurred!
See also "E:/demo/project/CMakeFiles/CMakeOutput.log".
See also "E:/demo/project/CMakeFiles/CMakeError.log".
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2 工程开发
创建demo文件夹,在其中创建main.cc和CMakeLists.txt文件,main.cc为工程源文件,CMakeLists.txt为工程配置文件,文件内容如下:

main.cc控制台输出Hello World!:

#include <iostream>

int main(void)
{
    std::cout << "Hello World!\n" << std::endl;
    return 0;
}
1
2
3
4
5
6
7
CMakeLists.txt配置工程参数:

CMAKE_MINIMUM_REQUIRED (VERSION 3.0)
PROJECT (demo)
ADD_EXECUTABLE(demo main.cc)
1
2
3
CMake如何使用请参考CMake Tutorial, CMake Practice, CMake Community Wiki。

3 生成VS2017工程
在团队开发过程中,使用批处理脚本(*.bat)生成Visual Studio工程可以使团队成员从复杂CMake生成解脱出来,专注于需要解决的、有价值的核心问题上来。此外,这里采用CMake的外部构建:

build_vs2017_project.bat

@echo off
set CURRENT_DIR=%~dp0
set PROJECT_NAME=project

echo %CURRENT_DIR%%PROJECT_NAME%
if not exist %CURRENT_DIR%%PROJECT_NAME% (
    mkdir %CURRENT_DIR%%PROJECT_NAME%
)
cd %CURRENT_DIR%%PROJECT_NAME%

rem Generate VS2017 project.
cmake ../ -G "Visual Studio 15 2017 Win64"
pause
1
2
3
4
5
6
7
8
9
10
11
12
13
备注: CMake生成VS2017工程的命令通过命令行(cmd)输入cmake --help即可获取。

VS2017工程截图: 


4 参考资料
[1] CMake Tutorial

[2] CMake Practice

[3] CMake Community Wiki

[4] CMake 入门实战
--------------------- 
作者:wwchaonj 
来源:CSDN 
原文:https://blog.csdn.net/wwchao2012/article/details/81592094 
版权声明:本文为博主原创文章,转载请附上博文链接!

本文转载自:https://blog.csdn.net/wwchao2012/article/details/81592094

shzwork
粉丝 11
博文 649
码字总数 10251
作品 0
厦门
私信 提问
不依赖官方LibPack编译FreeCAD的一次尝试

在Windows下编译FreeCAD,通常的方法是依赖官方提供的LibPack,但是只有vs2008, vs2012, vs2013等几个版本提供。比如现在感觉vs2017比较好用,可是没有官方LibPack,那就很难在vs2017上编译F...

bitbybit3d
05/14
0
0
《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE

《CMake实践》笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE 《CMake实践》笔记二:INSTALL/CMAKEINSTALLPREFIX 《CMake实践》笔记三:构建静态库与动态库 及 如何使用外部共享库和头文件 前言: ...

shzwork
03/31
16
1
(转)cmake构建时指定编译器架构(x86 or x64)

Windows vs2015 x64编译器为例,cmake命令如下: Xml代码 cmake -G "Visual Studio 14 Win64" pathtosourcedir 去掉Win64,就是32bit: Xml代码 cmake -G "Visual Studio 14" pathtosourcedi......

shzwork
06/04
7
0
part01_Linux下使用Cmake构建工程

一、安装Cmake 1.下载cmake-3.11.1.tar.gz:https://cmake.org/download/ 2.把 cmake-3.11.1.tar.gz放到任意临时目录(Cmake默认安装在:/usr/local/中),查看其权限如果没有权限直接更改权限...

IT魔幻师
2018/05/09
0
0
VS环境中,cmake出来的ALL_BUILD项目和 ZERO_CHECK项目的作用

转载地址:http://blog.csdn.net/jtop0/article/details/6167432 CMake是 跨平台软件开发和维护过程的 工程构建工具。“在每个系统构建你的工程,而无须关心创建可执行文件和动态库的具体方法...

shzwork
04/17
15
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 年迈渔夫遭黑帮袭抢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享Elvis Presley的单曲《White Christmas》: 《White Christmas》- Elvis Presley 手机党少年们想听歌,请使劲...

小小编辑
29分钟前
41
4
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部