使用Clang编译DLL时指定DEF文件

普雷拉克曼

我正在尝试在Windows中使用clang编译DLL

clang -shared structs.c -o structs.dll

但是这些符号没有被导出。

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

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

任何帮助表示赞赏:/

普雷拉克曼

终于想通了-

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Flex和Bison指定前缀时编译错误

使用pyinstaller时缺少dll文件

使用Clang优化进行编译时获得意外结果

使用cl.exe将asm文件编译为dll

使用graphql文件编译Typescript时出错

将Xcode 9.0与clang一起使用时发生编译错误(生成多个输出文件时无法指定-o)

在Windows上使用clang编译CUDA时的重新定义

模板编译时出现clang错误

使用.def文件的利与弊

如何使用Clang C编译器生成列表文件?

文件监视程序:“编译目录时必须指定输出目录”

用clang编译libstdc ++时的问题

编译特定的生成的源文件时,如何指定要使用的包含目录?

当使用__block时,clang BlocksRuntime在可执行文件中嵌入“过时的编译器”警告

如何在Visual Studio 2010中使用DEF文件从现有C ++代码生成DLL

使用xctool指定预编译的头文件目录

使用GCC包含文件时编译失败

如何使用clang ++进行编译?

获取错误clang:错误:从终端编译C ++文件时,链接器命令失败,退出代码为1(使用-v查看调用)

使用 C 编译 DLL

使用英特尔 Fortran 编译器编译独立的 DLL 文件

c++ - 当包含在主 C++ 文件中时,如何在 Clang 中编译 Cuda?

使用 Javac / Ant 编译 1 个文件也会在指定文件中编译导入的文件/类

使用 MinGW gfortran 编译时在 Windows 上无法识别 DLL

使用模块定义文件 (.def) 导入 DLL

获取 clang++:错误:在编译包含文件系统库的代码时

什么是 clang 编译的模块 pcm 文件?

DLL 导出 __stdcall 没有 DEF 文件和使用 VS 修饰的函数名称

在 Windows 环境中使用 clang 时出现编译错误