【发布时间】:2017-03-28 12:30:28
【问题描述】:
我有来自 Visual Studio 2017 RTM 的 Mingw64 GCC 6.3.0(始终在 PATH)和 Visual C++ 编译器工具(不在 PATH 中)。
如果我运行cmake . -G "MinGW Makefiles",将选择 GCC 6.3.0。
如果我运行cmake . -G "Ninja",将选择 GCC 6.3.0。
我的 Visual C++ 编译器工具不是标准的,我只保留我需要的部分并删除其余部分(如 MSBuild、IDE 等)。我使用自己的批处理脚本来设置PATH、INCLUDE 和LIB(工作正常)。
如果我运行这个批处理脚本并运行cmake .,MSVC 将被选中并使用 NMake 构建。
同样的环境,cmake . -G "Ninja",选择的是GCC 6.3.0而不是MSVC。
所以我的问题是,当两者都在PATH 中时,如何告诉 CMake 我想使用 MSVC + Ninja 而不是 GCC + Ninja?我应该设置任何环境变量吗?
【问题讨论】: