在CMake中设置默认编译器

busg9geu  于 2022-12-18  发布在  其他
关注(0)|答案(3)|浏览(713)

我在WinXP SP3上使用CMake版本2.8。每当我运行CMakeLists脚本时,默认情况下CMake使用Visual Studio 10编译器。我尝试过:

SET( CMAKE_CXX_COMPILER "C:/MinGW/bin/g++" )

没有成功。我如何设置MinGW作为我的默认编译器,这样我就不必担心在CMakeLists中设置编译器了?

zte4gxcn

zte4gxcn1#

CMake 3.15或更高版本支持通过设置环境变量CMAKE_GENERATOR来覆盖默认生成器。
例如,使用PowerShell,以以下方式设置环境变量,以使MinGW成为默认生成器:

$Env:CMAKE_GENERATOR = 'MinGW Makefiles'

对于旧的CMake版本(〈3.15),CMake uses the newest Visual Studio installation作为默认生成器,除非在调用CMake时显式指定生成器。此行为是硬编码的,无法更改。
作为一种解决方法,您可以使用名为cmake.cmd的批处理 Package 脚本,其中包含以下内容:

@cmake.exe -G "MinGW Makefiles" %*

该脚本应放置在系统PATH上的目录中,并应优先于CMake可执行文件cmake.exe
脚本调用cmake.exe,MinGW作为生成器,并将所有其他参数转发给它。

wvt8vs2t

wvt8vs2t2#

你只需要设置工具链/输出格式一次,通常你会在第一次运行cmake的时候这样做:

cmake -G "MinGW Makefiles" .

您可以使用自己的参数(如果有的话)和/或源路径来代替点。
作为一种替代方法,特别是当您是CMake新手时,请在windows下使用GUI版本(运行不带参数的cmake-gui,而不是cmake)。
打开后,设置路径并点击“配置”。如果没有编译器设置,它会要求你选择一个(否则你必须清除该高速缓存才能使它重新出现)。
更新后的配置值将显示为红色,并且还允许您使用常见的Windows对话框选择文件和路径。
一旦配置完成并且没有错误,你可以点击“generate”来创建你的makefile或者项目文件,如果以后要更新这些文件,你可以再次使用cmake-gui或者使用常用的命令行版本cmake

fnvucqvd

fnvucqvd3#

使用CMake 3.15或更高版本,您可以设置CMAKE_GENERATOR环境变量来指定要在系统上使用的默认生成器。

相关问题