You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Conan与Premake配置的项目Release运行缺失Qt6Core、Qt6Widgets.dll

问题根因

Release模式运行时提示缺失Qt6Widgets.dll、Qt6Core.dll,是Windows平台下动态链接库未被自动部署到可执行文件输出目录导致的,属于Conan+Premake集成时的典型配置缺失问题。

修复操作步骤

1. 修正Conan依赖安装逻辑

Conan会严格按照构建类型隔离本地缓存的依赖包,Debug和Release版本的库不能混用:

  • 你当前的安装流程大概率只单独为Debug模式拉取了依赖,没有为Release配置单独安装,导致Release构建时根本找不到对应Qt动态库的路径,自然无法触发dll拷贝逻辑。
  • 执行安装命令时,需要为每个构建配置单独指定对应参数:
    • Debug模式安装:conan install . --install-folder=build -s build_type=Debug
    • Release模式安装:conan install . --install-folder=build -s build_type=Release

注意:不要在没有指定build_type参数的情况下执行conan install,否则Conan会自动按默认配置拉取依赖,和你项目的实际构建类型不匹配。

2. 调整Premake脚本的Conan集成参数

你当前调用conan_basic_setup()时,没有显式开启运行时依赖自动拷贝的能力:

  • 把脚本中原先workspace下的conan_basic_setup()调用,替换为如下配置,显式跳过自动路径覆盖、开启dll自动拷贝:
    conan_basic_setup({
        skip_copy_runtime_deps = false, -- 构建完成后自动将所有依赖dll拷贝到可执行文件目录
        output_dirs = false -- 避免Conan覆盖你自定义的targetdir、objdir输出路径
    })
    
  • 确保这个调用放在workspace全局层级,让生成的构建后拷贝步骤可以自动绑定到所有子项目的构建流程中,而不是仅在工作区全局执行一次。

3. 兜底校验

如果调整后仍然报缺失,可手动核对:

  • 打开Conan本地缓存中对应qt/6.0.1@bincrafters/stable包的Release版本bin目录,确认目标dll(Qt6Core.dll、Qt6Widgets.dll)确实存在
  • 检查Release可执行文件的输出路径(即bin/Release-<平台>-<架构>/TileEditor/目录),确认Conan已经把依赖dll拷贝到该目录下。

内容的提问来源于stack exchange,提问作者samuel potter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 13:54:04