Mic*_*cci 19 warnings opencv c++-cli pragma visual-studio
我正在使用OpenCV库,并且"warning C4793: 'anonymous namespace'::CV_XADD' : function compiled as native"如果我的C++项目是使用CLR支持编译的,则会生成其中一个头文件cxoperations.hpp .我可以通过包围这样的OpenCV标头来阻止警告:
#pragma managed(push,off)
#include <cv.h>
#pragma managed(pop)
Run Code Online (Sandbox Code Playgroud)
但实际使用OpenCV的项目不是使用CLR支持编译的,它是一个本机C++静态库.具有CLR支持并且在没有pragma语句的情况下生成此警告的项目只使用此静态库.所以我有点惊讶的是,根本没有创建警告,特别是考虑到整个静态库没有使用CLR支持进行编译,但只有这一个标题会导致问题.
因此,这个解决方案对我来说似乎不太理想.这是你如何处理这个警告,还是你可以推荐一个更好的做法?
Bli*_*ndy 17
我想你想要的是这个:
#pragma unmanaged
#include <cv.h>
#pragma managed
// managed code wrapping unmanaged opencv functions
Run Code Online (Sandbox Code Playgroud)
C++/CLI项目可以包含托管和非托管部分,编译器会为您处理2之间的编组数据.托管入口点可以从普通的.NET应用程序(如C#和其他)中调用,并将使用垃圾收集,他们将调用非托管函数来完成繁重的工作.
| 归档时间: |
|
| 查看次数: |
12586 次 |
| 最近记录: |