繁体   English   中英

API 宏,用于制作 C++ 库

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM