#ifdef WIN32
#define OSGVE_EXPORT __declspec(dllexport)
#else
#define OSGVE_EXPORT
#endif
这个宏是说如果在WIN32下就定义
宏 #define OSGVE_EXPORT __declspec(dllexport)
如果在非Windows的系统下,例如linux环境下,就定义下面的宏:
#define OSGVE_EXPORT
这个宏后面什么玩意都没有,也就是个空,
假如我这么声明一个接口函数:
OSGVE_EXPORT void test();
在Windows平台下,也就是
__declspec(dllexport)void test();
也就是说要导出此接口(windows下接口是默认不不导出的,除非你加上__declspec(dllexport))
但是在非window平台下,例如linux平台下,它就没有定义__declspec(dllexport)这个东西,所以你不能用,
(linux下,默认接口是全导出的)
因此OSGVE_EXPORT void test();在linux下就是
void test()
|