Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用Clang编译DLL时指定DEF文件_C++_C_Dll_Clang_Llvm - Fatal编程技术网

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

C++ 使用Clang编译DLL时指定DEF文件,c++,c,dll,clang,llvm,C++,C,Dll,Clang,Llvm,我正在尝试在windows中使用clang编译DLL clang -shared structs.c -o structs.dll 但是这些符号没有被导出 如果我在structs.h中的声明中添加u declspec(dllexport),它们的符号将导出到DLL 但是,我想使用我创建的DEF文件(structs.DEF)来实现这一点,但是我找不到如何将DEF文件传递给clang 任何帮助都会出现:/终于解决了- 我们可以在clang中使用-Wl标志将一些逗号分隔的参数传递给链接器 可以使用/

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

clang -shared structs.c -o structs.dll
但是这些符号没有被导出

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

但是,我想使用我创建的DEF文件(structs.DEF)来实现这一点,但是我找不到如何将DEF文件传递给clang


任何帮助都会出现:/

终于解决了-

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

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