(“功能”是编译器错字不是我的:P)
我的问题,
我需要做的是从 pcl 非托管 C++ 到 C# 获取点云(XYZRGBA)数据。我使用以下代码执行此操作:
非托管.cpp (C++)
float* getCloud(int clr_width, int clr_height, int dpth_width,
int dpth_height, int frameId, int clr_focal_x, int clr_focal_y,
int dpth_focal_x, int dpth_focal_y, unsigned char *image,
unsigned char *depth_image) const
{
(some implementation);
}
结束非托管.cpp
.
托管.cpp (C++)
property float[]^ Receiver
{
float[]^ get()
{
return gcnew float[]( Unmanaged->getCloud((int)clr_width,
(int)clr_height, (int)dpth_width, (int)dpth_height, (int)frameId,
(int)clr_focal_x, (int)clr_focal_y, (int)dpth_focal_x,
(int)dpth_focal_y, (unsigned char*)image,
(unsigned char*)depth_image) );
}
}
Managed.cpp 结束
我得到的是标题中的错误:'Kinecter::getCloud':这个函数不能被编译为托管,考虑使用#pragma unmanaged
有人知道如何解决这个问题吗?
顺便说一句:建议:#pragma unmanaged 也不起作用:(