【发布时间】:2020-04-15 10:14:49
【问题描述】:
documentation 非常明确地说明了这一限制,但我似乎找不到任何解释说明为什么会出现这种情况。
【问题讨论】:
-
我想我可能误解了文档。 docs.microsoft.com/en-us/cpp/build/reference/… 表明这只是 MSVC 期望导入数据与函数的语法不同,而 CMake 实际上导出所有符号
标签: visual-c++ cmake
documentation 非常明确地说明了这一限制,但我似乎找不到任何解释说明为什么会出现这种情况。
【问题讨论】:
标签: visual-c++ cmake
我曾希望 CMake 的 WINDOWS_EXPORT_ALL_SYMBOLS 将消除更改为 GCC 编写的源代码以在 MSVC 中正确链接的需要。
因此,有了这个假设,我误解了上面引用的文档:
对于全局数据符号,在针对
.dll中的代码进行编译时,仍必须使用__declspec(dllimport)
并将其视为 CMake 功能的限制,而不是 MSVC 的要求(这完全是我的错误。)
【讨论】: