我是C ++的初学者。
我创建了一个CMake库项目,我添加了2个库,其中一个称为镶嵌图(共享)和镶嵌图s(静态)。
而且问题在于我如何使用宏为__declspec(dllexport)自动设置宏构建共享库时,将其设置为静态库时不设置任何内容。
在您的make文件中定义一个符号,该符号将告诉您是否共享它,然后您可以像这样使用预处理器>>
#ifndef SHARED #defined EXPORT #else #define EXPORT __declspec(dllexport) #endif
然后在您的代码中您将有
EXPORT whatever_you_are_exporting
如果您在make文件中定义了
SAHRED
,则EXPORT
将为__declspec(dllexport)
,如果尚未定义,则EXPORT
将为零。