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

如何在Conan的[imports]中匹配DLL架构与构建类型并复制到对应目录

解决Conan按架构和构建类型复制DLL到对应目录的问题

你可以利用Conan内置的settings变量和条件导入规则,在conanfile.txt的[imports]段中实现精准匹配复制。具体配置如下:

1. 编写带条件的导入规则

在你的conanfile.txt中添加以下[imports]配置:

[imports]
# 匹配x64架构,将DLL复制到对应Release/Debug目录
bin, *.dll -> ./build/${settings.build_type}_x64: settings.build_arch=x86_64
# 匹配Win32架构,将DLL复制到对应Release/Debug目录
bin, *.dll -> ./build/${settings.build_type}_Win32: settings.build_arch=x86

2. 配置说明

  • ${settings.build_type}:Conan内置变量,对应你指定的构建类型(Release或Debug),会自动替换为实际值。
  • 条件后缀: settings.build_arch=xxx:只有当Conan的build_arch设置为对应值时,才执行这条导入规则。比如指定build_arch=x86_64时,只会执行第一条规则,将DLL复制到build/Release_x64或build/Debug_x64。
  • 注意:如果你的目录是Relase_x64(少了字母e),需要修正为Release_x64,否则路径匹配会失败。

3. 执行Conan安装命令时指定正确的Settings

执行conan install时,必须明确指定build_type和build_arch,才能触发对应的复制逻辑:

# 安装Release x64依赖并复制DLL到build/Release_x64
conan install . --settings build_type=Release --settings build_arch=x86_64 -s compiler="Visual Studio"

# 安装Debug Win32依赖并复制DLL到build/Debug_Win32
conan install . --settings build_type=Debug --settings build_arch=x86 -s compiler="Visual Studio"

这样就能自动将对应架构、对应构建类型的DLL精准复制到你项目build目录的子文件夹中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 21:45:17