【问题标题】:Why does CMake's WINDOWS_EXPORT_ALL_SYMBOLS not support exporting static data symbols?为什么 CMake 的 WINDOWS_EXPORT_ALL_SYMBOLS 不支持导出静态数据符号?
【发布时间】:2020-04-15 10:14:49
【问题描述】:

documentation 非常明确地说明了这一限制,但我似乎找不到任何解释说明为什么会出现这种情况。

【问题讨论】:

标签: visual-c++ cmake


【解决方案1】:

我曾希望 CMake 的 WINDOWS_EXPORT_ALL_SYMBOLS 将消除更改为 GCC 编写的源代码以在 MSVC 中正确链接的需要。

因此,有了这个假设,我误解了上面引用的文档:

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

并将其视为 CMake 功能的限制,而不是 MSVC 的要求(这完全是我的错误。)

【讨论】:

  • 介意尝试以下操作:使用 Ninja 生成器并将 CMAKE_NM 设置为已安装的 llvm-nm.exe(/LLVM/bin 可能需要在 PATH 上才能正常工作)。跨度>
猜你喜欢
  • 2020-05-07
  • 2018-10-17
  • 2011-05-26
  • 1970-01-01
  • 2021-11-05
  • 2020-09-07
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多