我在WinXP SP3上使用CMake版本2.8。每当我默认运行我的CMakeLists脚本时,CMake使用Visual Studio 10编译器。我试过这样做:
SET( CMAKE_CXX_COMPILER "C:/MinGW/bin/g++" )
没有成功。如何将MinGW设置为我的默认编译器,以便我不必担心在CMakeLists中设置编译器?
答案 0 :(得分:26)
在Windows CMake uses the newest Visual Studio installation下作为默认生成器,除非在调用CMake时明确指定了生成器。此行为是硬编码的,无法更改。
作为一种解决方法,您可以使用标题为cmake.bat
的批量包装脚本,其中包含以下内容:
@cmake.exe -G "MinGW Makefiles" %*
脚本应放在系统PATH的目录中,并且应优先于CMake可执行文件cmake.exe
。
该脚本使用MinGW作为生成器调用cmake.exe
并将所有其他参数转发给它。
答案 1 :(得分:14)
您只需设置一次工具链/输出格式,通常是在第一次运行cmake时执行此操作:
cmake -G "MinGW Makefiles" .
您可以使用自己的参数(如果有)和/或源的路径来代替点。
作为替代方案,尤其是当您刚接触CMake时,请使用Windows下的GUI版本(运行cmake-gui
而不使用参数而不是cmake
)。
打开后,设置路径并单击“配置”。如果没有编译器设置,它将要求您选择一个(否则您必须清除缓存以使其重新出现)。
更新的配置值将以红色显示,并且还允许您使用常用的Windows对话框选择文件和路径。
配置完成且没有错误后,您可以点击“生成”来创建makefile或项目文件。要在以后更新这些内容,您可以再次使用cmake-gui
或只使用通常的命令行版本cmake
。
答案 2 :(得分:1)
对于CMake 3.15或更高版本,您可以设置CMAKE_GENERATOR
环境变量以指定要在系统上使用的默认生成器。