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

如何为Embarcadero RAD Studio 12.1 64位Clang15编译器生成导入库?

针对C++ Builder bcc64x(Clang15)从DLL生成导入库的方法
  • 用Clang配套的llvm-dlltool工具
    因为bcc64x基于Clang15,直接用套件里的llvm-dlltool就能生成兼容的导入库。命令格式:
    llvm-dlltool -d 导出符号.def -l 目标.lib文件名 -D 源DLL文件名.dll
    要是没有现成的.def文件,先用llvm-nm从DLL里提取符号:
    llvm-nm --defined-only --extern-only 源DLL文件名.dll > 符号列表.txt
    接着把符号列表整理成标准.def格式:

    LIBRARY "源DLL文件名.dll"
    EXPORTS
    导出函数名1
    导出函数名2 @序号 (如果DLL里带导出序号的话)

  • 调用新版implib工具
    新版bcc64x套件里的implib已经适配了Clang目标,直接执行:
    implib -a 目标.lib文件名 源DLL文件名.dll
    参数-a会自动处理符号的兼容性转换,不用手动写.def也能生成可用的导入库。

  • 无.def文件的快速处理方案
    要是不想手动整理符号,用Windows SDK自带的dumpbin导出DLL的所有符号:
    dumpbin /exports 源DLL文件名.dll > exports.txt
    从exports.txt里提取导出函数名,整理成.def文件后,再用上面的工具生成导入库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:19:57