首页 > 解决方案 > Qt-Cretor + CMake 在我想使用MinGW时坚持使用MSVC

问题描述

我正在尝试使用 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。在没有 Qt Creator 的情况下手动运行 CMake 允许我配置项目。(尽管由于链接器错误它仍然无法编译,但我希望独立于这个问题)

标签: cmakeqt-creator

解决方案


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

也许这有帮助:

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

推荐阅读