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

使用CMake+vcpkg构建C项目调用ICU时缺失icuucd75.dll的问题

解决方案

1. 确认vcpkg安装的ICU版本与构建类型匹配

带d后缀的icuucd75.dll是ICU的Debug版本动态库,你手里的icuuc.dll是Release版本。问题大概率出在:当前CMake运行的是Debug构建,但vcpkg仅安装了Release版ICU,或是CMake配置时错误关联了Debug库。

  • 检查vcpkg已安装包:运行vcpkg list,查看ICU条目是否带有debug标识——比如icu:x64-windows是Release版,icu:x64-windows-debug是Debug版。如果未安装Debug版,执行vcpkg install icu:x64-windows --debug补装。

2. 修正CMake中的ICU链接配置

使用ICU提供的导入目标,让CMake自动根据构建类型匹配对应库文件:

find_package(ICU REQUIRED COMPONENTS uc io)
target_link_libraries(你的项目目标名 PRIVATE ICU::uc ICU::io)

ICU::uc和ICU::io会自动处理Debug/Release模式下的库文件及依赖DLL,无需手动指定路径。

3. 检查vcpkg的triplet配置

如果项目使用了自定义triplet,确认triplet文件是否开启Debug支持。比如x64-windows.cmake中若写有:

set(VCPKG_BUILD_TYPE release)

将其修改为:

set(VCPKG_BUILD_TYPE "") # 同时构建Release和Debug版本

修改完成后重新安装ICU包。

4. 手动复制Debug DLL到输出目录

若上述方法无效,可直接从vcpkg的Debug目录复制DLL到项目输出文件夹:

  • vcpkg的Debug DLL路径一般为vcpkg_installed\x64-windows\debug\bin,找到icuucd75.dll、icuin75.dll等Debug版本DLL,复制到项目的Debug输出目录即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 23:22:12