Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
cflags'-Wl,-export-dynamic'与链接器标志'-export-dynamic'_C_Cmake_Clang - Fatal编程技术网

cflags'-Wl,-export-dynamic'与链接器标志'-export-dynamic'

cflags'-Wl,-export-dynamic'与链接器标志'-export-dynamic',c,cmake,clang,C,Cmake,Clang,我用不同的编译标志编译了同一个程序而不是库,在CMake中使用了Clang 使用CMAKE_C_标志=-Wl,-导出动态 使用CMAKE_EXE_链接器_标志=-导出动态 但我注意到第二种方法似乎不起作用。我找不到导出的符号。我很惊讶只有第一种方法有效。我不知道C编译器是否做了一些棘手的事情,或是叮当声,或是CMake。但如何让第二种方式发挥作用?第一种方法将打印大量警告。为第二种变体提供相同的选项 setCMAKE_EXE_链接器_标志-Wl,-导出动态 因为编译器和链接器在您的情况下是相同的

我用不同的编译标志编译了同一个程序而不是库,在CMake中使用了Clang

使用CMAKE_C_标志=-Wl,-导出动态 使用CMAKE_EXE_链接器_标志=-导出动态
但我注意到第二种方法似乎不起作用。我找不到导出的符号。我很惊讶只有第一种方法有效。我不知道C编译器是否做了一些棘手的事情,或是叮当声,或是CMake。但如何让第二种方式发挥作用?第一种方法将打印大量警告。

为第二种变体提供相同的选项

setCMAKE_EXE_链接器_标志-Wl,-导出动态


因为编译器和链接器在您的情况下是相同的

为第二种变体提供相同的选项

setCMAKE_EXE_链接器_标志-Wl,-导出动态


因为编译器和链接器在您的情况下是相同的

为什么要从可执行文件导出符号?@JonathanLeffler插件需要从可执行文件调用函数。为什么要从可执行文件导出符号?@JonathanLeffler插件需要从可执行文件调用函数。非常感谢。这就是我想要的!对于macOS来说,这是一个动态的双连字符输出,非常感谢。这就是我想要的!对于macOS,它是-导出动态双连字符