CMake构建VS2017工程

本文介绍如何安装Visual Studio 2017和CMake,并使用它们进行工程开发,包括创建项目、配置工程参数及生成VS2017工程。还提供了一个示例项目和批处理脚本来简化开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 安装VS2017/cmake

软件安装:

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

注意事项:

  1. CMake安装时要将安装目录添加到系统环境变量PATH。
  2. 在安装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".

2 工程开发

创建demo文件夹,在其中创建main.ccCMakeLists.txt文件,main.cc为工程源文件,CMakeLists.txt为工程配置文件,文件内容如下:

main.cc控制台输出Hello World!

#include <iostream>

int main(void)
{
    std::cout << "Hello World!\n" << std::endl;
    return 0;
}

CMakeLists.txt配置工程参数:

CMAKE_MINIMUM_REQUIRED (VERSION 3.0)
PROJECT (demo)
ADD_EXECUTABLE(demo main.cc)

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

备注: CMake生成VS2017工程的命令通过命令行(cmd)输入cmake --help即可获取。

VS2017工程截图:
这里写图片描述

4 参考资料

[1] CMake Tutorial

[2] CMake Practice

[3] CMake Community Wiki

[4] CMake 入门实战

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值