提问人:Joachim W 提问时间:2/7/2019 最后编辑:Joachim W 更新时间:2/7/2019 访问量:4862
CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS 不涵盖全局变量
CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS does not cover global variables
问:
将 CMake 下的 C++ 库移植到 Windows。
- 选项 1:使用 .
__declspec(dllexport)
- 选项 2: .
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
我们选择选项 2,因为它看起来更容易,并且保持我们的来源完好无损。 就像一个魅力:我们的应用程序编译并与库 dll 链接。
但是,它只确保类和函数的导出。导出全局变量需要做什么?比如:
lib_source.cpp:
int my_secret;
app.cpp:
extern int my_secret;
答:
8赞
Mizux
2/7/2019
#1
对于全局数据符号,在针对 .dll 中的代码进行编译时,仍必须使用。
__declspec(dllimport)
来源: https://cmake.org/cmake/help/latest/prop_tgt/WINDOWS_EXPORT_ALL_SYMBOLS.html
评论