[英]API macro for making C++ library
我是 C++ 的初学者。
我创建了一个 CMake 库项目,并添加了 2 个库,一个称为镶嵌(共享)和镶嵌_s(静态)。
问题是如何在构建共享库时使用宏为 __declspec(dllexport) 自动设置宏,并在构建 static 时将其设置为空。
在你的make文件中定义一个符号,它会告诉你它是否是共享的,然后你可以使用预处理器,比如
#ifndef SHARED
#define EXPORT
#else
#define EXPORT __declspec(dllexport)
#endif
然后在你的代码中你会有
EXPORT whatever_you_are_exporting
如果您在 make 文件中定义SAHRED
,则EXPORT
将为__declspec(dllexport)
,如果您没有,则EXPORT
将一无所有。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.