在没有 Visual Studio 的情况下在 Windows 上构建 .SLN 文件?
Building .SLN files on Windows without Visual Studio?
我最近一直在尝试设置我的 CMake 环境和一些 'hello world' C++ 代码。我添加了一个 CMakeLists.txt
并添加了我的配置,但是当我在命令行中 运行 cmake .
时,有些东西与所有教程都不一样。
教程中的人员使用的是基于 Unix 的系统,因此命令 cmake .
生成 'makefile'。然后他们使用命令 make
.
构建了 makefile
因为我在 windows,它生成了一个 msvc .sln
文件而不是 makefile。我的问题是 - 我如何构建 .sln 文件,类似于他们在 Linux 上的做法?我想在没有 Visual Studio 2019 的情况下进行,最好是在命令提示符下进行。
我已经尝试搜索这个问题,但没有找到我要找的东西。提前谢谢你。
首先,您应该永远不要 使用cmake .
进行树内构建。它以名称冲突的形式引发问题,几乎不可能进行干净的重建。
如果您使用的是最新版本的 CMake(您应该使用),则构建项目的标准方式取决于后端生成器是 single-config 还是多配置.
如果是单配置(如 Make 或 Ninja),则命令为:
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -S /path/to/sources -B /path/to/build
$ cmake --build /path/to/build
当您调用 CMake 时,目录 /path/to/build
不需要存在。如果您想要 Debug
构建,而不是 Release
,您只需在第一行替换它。你应该 永远不要 运行 没有设置 CMAKE_BUILD_TYPE
.
的单一配置生成器
如果是multi-config,比如Visual Studio,那么命令是:
$ cmake -G "Visual Studio 16 2019" -A x64 -Thost=x64 -S /path/to/sources -B /path/to/build
$ cmake --build /path/to/build --config Release
此处的主要区别在于配置是在 second(构建)命令中指定的,而不是 first(配置) .
我最近一直在尝试设置我的 CMake 环境和一些 'hello world' C++ 代码。我添加了一个 CMakeLists.txt
并添加了我的配置,但是当我在命令行中 运行 cmake .
时,有些东西与所有教程都不一样。
教程中的人员使用的是基于 Unix 的系统,因此命令 cmake .
生成 'makefile'。然后他们使用命令 make
.
因为我在 windows,它生成了一个 msvc .sln
文件而不是 makefile。我的问题是 - 我如何构建 .sln 文件,类似于他们在 Linux 上的做法?我想在没有 Visual Studio 2019 的情况下进行,最好是在命令提示符下进行。
我已经尝试搜索这个问题,但没有找到我要找的东西。提前谢谢你。
首先,您应该永远不要 使用cmake .
进行树内构建。它以名称冲突的形式引发问题,几乎不可能进行干净的重建。
如果您使用的是最新版本的 CMake(您应该使用),则构建项目的标准方式取决于后端生成器是 single-config 还是多配置.
如果是单配置(如 Make 或 Ninja),则命令为:
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -S /path/to/sources -B /path/to/build
$ cmake --build /path/to/build
当您调用 CMake 时,目录 /path/to/build
不需要存在。如果您想要 Debug
构建,而不是 Release
,您只需在第一行替换它。你应该 永远不要 运行 没有设置 CMAKE_BUILD_TYPE
.
如果是multi-config,比如Visual Studio,那么命令是:
$ cmake -G "Visual Studio 16 2019" -A x64 -Thost=x64 -S /path/to/sources -B /path/to/build
$ cmake --build /path/to/build --config Release
此处的主要区别在于配置是在 second(构建)命令中指定的,而不是 first(配置) .