CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS不涵盖全局变量

时间:2019-02-06 19:05:16

标签: c++ windows dll cmake global-variables

在CMake下将C ++库移植到Windows。

  • 选项1:使用php72装饰API。
  • 选项2:__declspec(dllexport)

我们选择选项2,因为它似乎容易得多,并且使我们的资源完整无缺。 像魅力一样工作:我们的应用程序编译并与库dll链接。

但是,它只能确保导出类和函数。导出全局变量需要做什么?像这样:

set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)

1 个答案:

答案 0 :(得分:1)

  

对于全局数据符号,根据.dll中的代码编译时,仍必须使用__declspec(dllimport)

src:https://cmake.org/cmake/help/latest/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html