使用 cmake 和命令行构建 MSVC 项目
Posted
技术标签:
【中文标题】使用 cmake 和命令行构建 MSVC 项目【英文标题】:Building MSVC project with cmake and command-line 【发布时间】:2021-10-04 18:23:31 【问题描述】:美好的一天!
让我们有一个源文件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
文件包含一个简单的“Hello, World!”程序:
#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)
【问题讨论】:
【参考方案1】:您可以通过使用 --build
选项调用 cmake,以独立于平台和 CMake 生成器的方式开始构建:
cmake --build .
对于多配置生成器,可以通过以下方式指定配置:
cmake --build . --config Release
另见documentation。
【讨论】:
是的,它成功了:cmake CMakeLists.txt -G "Visual Studio 9 2008"
然后 - cmake --build .
。谢谢! =)
@GameDeveloper 它适用于 Visual Studio 11,请在 cmake site 提交错误。以上是关于使用 cmake 和命令行构建 MSVC 项目的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MSVC 2019 中的 CMake 管理的 C++ 项目中将命令行启动参数添加到发布目标?
如何强制 cmake 在没有完整路径的情况下使用 cl.exe?
使用命令行在 Visual Studio 2019 中打开 CMake 项目