【问题标题】:Specifying the DEF file when compiling a DLL with Clang使用 Clang 编译 DLL 时指定 DEF 文件
【发布时间】:2020-10-03 02:07:20
【问题描述】:

我正在尝试在 windows 中使用 clang 编译一个 DLL

clang -shared structs.c -o structs.dll

但符号没有被导出..

如果我将 __declspec(dllexport) 添加到我在 structs.h 中的声明中,它们的符号将被导出到 DLL。

但是,我想使用我创建的 DEF 文件 (structs.def) 来执行此操作,但我找不到如何将 DEF 文件传递​​给 clang。

需要任何帮助:/

【问题讨论】:

    标签: c++ c dll clang llvm


    【解决方案1】:

    终于明白了——

    1. 我们可以在 clang 中使用 -Wl 标志将一些逗号分隔的参数传递给链接器。
    2. 可以使用 /DEF 参数指定 DEF 文件

    例子

    clang -shared structs.c -o structs.dll -Wl"/DEF:structs.def"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      相关资源
      最近更新 更多