什么"CV_EXPORTS_W"的意思

Cal*_*fer 6 c++ opencv

最近,我试图在OpenCV库中找到"calcOpticalFlowPyrLK"函数的源代码.当我搜索它的定义时,我发现了一个名为"CV_EXPORTS_W"的宏.有人知道这是什么意思吗?

Fra*_*ser 7

CV_EXPORTS_W在modules/core/include/opencv2/core/types_c.h中定义为别名CV_EXPORTS,并在同一文件CV_EXPORTS中定义为:

#if (defined WIN32 || defined _WIN32 || defined WINCE) && defined CVAPI_EXPORTS
# define CV_EXPORTS __declspec(dllexport)
#else
# define CV_EXPORTS
#endif
Run Code Online (Sandbox Code Playgroud)

换句话说,它是定义__declspec(dllexport)的Windows平台上的别名CVAPI_EXPORTS,否则它是空的.

  • 从 C++ 的角度来看,`CV_EXPORTS_W` 可能被定义为 `CV_EXPORTS` 的别名,但是生成 opencv python 绑定的引擎将其解释为相关符号将包含在 python 接口中的指示符。参考【python绑定教程】(http://docs.opencv.org/master/da/d49/tutorial_py_bindings_basics.html) (2认同)