如何让Qt Creator使用VCPKG安装的Qt并避免默认路径注入?
解决Qt Creator自动注入Qt路径到CMAKE_PREFIX_PATH的问题
方法1:修改CMake套件配置,选择“无”Qt版本
- 打开Qt Creator,依次进入工具 > 选项 > 构建和运行 > CMake
- 在“套件”列表里找到你用CMakePresets.json配置的项目专属套件
- 切换到“CMake”标签页,找到“Qt版本”下拉框,选择**<无>**
- 保存设置后重新加载项目,Qt Creator就不会再往CMAKE_PREFIX_PATH里注入
%{Qt:QT_INSTALL_PREFIX}了
方法2:在CMakeLists.txt中强制清理并重置路径
如果不想改动套件配置,可以在项目根目录的CMakeLists.txt最开头添加代码,手动移除注入的Qt路径并确保vcpkg路径优先级最高:
# 移除Qt Creator自动注入的Qt路径 string(REPLACE "%{Qt:QT_INSTALL_PREFIX};" "" CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH}") # 将vcpkg的安装路径前置(路径根据你的vcpkg子模块位置调整) list(PREPEND CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/installed/${VCPKG_TARGET_TRIPLET}")
方法3:通过CMakePresets.json锁定CMAKE_PREFIX_PATH
在你的CMakePresets.json的配置预设中,明确指定CMAKE_PREFIX_PATH的值,直接覆盖Qt Creator的注入内容:
{ "version": 3, "configurePresets": [ { "name": "your-project-preset", "generator": "Ninja", "binaryDir": "${sourceDir}/build", "cacheVariables": { "CMAKE_PREFIX_PATH": "${sourceDir}/vcpkg/installed/${VCPKG_TARGET_TRIPLET}", "VCPKG_MANIFEST_MODE": "ON" } } ] }
内容的提问来源于stack exchange,提问作者Parker Coates
相关产品推荐
相关产品推荐

