Qt-Cretor + CMake 想用MinGW却坚持用MSVC

Qt-Cretor + CMake insists on using MSVC when I want to use MinGW

我正在尝试使用 MinGW 构建一个 CMake 项目。我已经通过 Qt 安装程序安装了 MinGW 8.1。 CMakeList 与 Qt Creator 在创建项目时创建它的方式相同。

当 运行 CMake 时,我可以看到 Qt Creator 如何将编译器和链接器的路径传递给 CMake,以及 CMake 如何完全忽略它们。

Führe C:\Program Files\CMake\bin\cmake.exe -S [snip] -B [snip] "-DCMAKE_BUILD_TYPE:String=Debug" "-DQT_QMAKE_EXECUTABLE:STRING=C:/Qt/5.15.1/mingw81_64/bin/qmake.exe" "-DCMAKE_PREFIX_PATH:STRING=C:/Qt/5.15.1/mingw81_64" "-DCMAKE_C_COMPILER:STRING=C:/Qt/Tools/mingw810_64/bin/gcc.exe" "-DCMAKE_CXX_COMPILER:STRING=C:/Qt/Tools/mingw810_64/bin/g++.exe" in [snip] aus.
-- Building for: Visual Studio 16 2019
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19041.
-- The CXX compiler identification is MSVC 19.24.28314.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_BUILD_TYPE
    CMAKE_C_COMPILER
    QT_QMAKE_EXECUTABLE

这里我使用的是CMake的系统安装,但是使用Qt Creator安装的CMake时输出没有变化。所选套件的 CMake 生成器在 Qt Creator 设置中设置为 MinGW Makefiles。 运行 CMake 手动,无需 Qt Creator,允许我配置项目。 (尽管由于链接器错误仍然无法编译,但我希望独立于此问题)

似乎存在缓存问题。缓存由 CMake (CMakeCache.txt) 和 QtCreator (CMakeLists.txt.user) 本身完成。

也许这有帮助:

  1. 关闭 QtCreator(通过关闭 QtCreator,如果文件不存在,CMakeLists.txt.user 文件将被保存或生成)
  2. 删除QtCreator的CMakeLists.txt.user
  3. 构建文件夹
  4. 再次打开项目并select所需的工具包。