使用cmake和命令行构建MSVC项目

问题描述:

美好的一天!使用cmake和命令行构建MSVC项目

让我们有一个源文件main.cpp和包含下一个文本文件CMakeLists.txt:“你好,世界”

cmake_minimum_required(VERSION 2.6) 
project(tmp) 

set(CMAKE_CXX_FLAGS "-Wall") 
add_executable(tmp.elf main.cpp) 

比方说,main.cpp文件包含一个简单的程序:

#include <stdio.h> 

int main() 
{ 
    printf("Hello, World!\n"); 
    return 0; 
} 

我们可以用cmake CMakeLists.txt && make来构建项目。然后我们只需要运行tmp.elf文件即可。或者我们不能得到tmp.elf文件,并假定main.cpp源文件出现问题(假定编译器和cmake在系统上正确安装)。

所以,问题是:我们怎么能在Windows机器上做同样的事情?例如。我们将在运行cmake CMakeLists.txt后得到tmp.vcproj文件,然后我们需要以某种方式构建它。如何使用命令行执行构建过程? (Java的的Process.Start(),实际上:-P)

您可以通过与--build选项调用cmake的启动平台,CMake的生成独立的方式构建:

cmake --build . 

对于多配置发电机,您可以通过以下方式指定的配置:

cmake --build . --config Release 

另见documentation

+0

是的,它的工作原理:'cmake CMakeLists.txt -G“Visual Studio 9 2008”'然后 - 'cmake --build .'。谢谢! =) – shybovycha 2011-12-19 18:10:16

+1

它不再有效,现在不生成可执行文件 – GameDeveloper 2015-10-11 23:09:34

+0

@GameDeveloper它为Visual Studio 11工作,请在[cmake网站](https://gitlab.kitware.com/cmake/cmake/issues)中提交一个错误。 – shuva 2018-02-22 20:52:50