‘Kinecter :: getCloud’: эта функция не может быть скомпилирована как управляемая, рассмотрите возможность использования #pragma без управления

(«Functon» — опечатка компилятора, не моя: P)

мой вопрос,

Что мне нужно сделать, это получить данные pointcloud (XYZRGBA) из неуправляемого C ++ pcl в C #.
Я делаю это с помощью следующего кода:

Unmanaged.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);
}

END OF Unmanaged.cpp

.

Managed.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) );
}
}

END OF Managed.cpp

Что я получаю, это ошибка из названия:
‘Kinecter :: getCloud’: эта функция не может быть скомпилирована как управляемая, рассмотрите возможность использования #pragma без управления

Кто-нибудь знает, как это исправить?

Кстати: предложение: #pragma неуправляемые также не работает 🙁

0

Решение

Я исправил это, оказывается, это не имело никакого отношения к этому куску кода.

это было создание облака, у которого были проблемы.
(для пользователей PCL)

cloud->sensor_origin_.setZero (); // BUGGY
cloud->sensor_orientation_.w () = 0.0;
cloud->sensor_orientation_.x () = 1.0;
cloud->sensor_orientation_.y () = 0.0;
cloud->sensor_orientation_.z () = 0.0;
return (cloud);

Я думаю, что я не могу отправить pointcloud, если я не создаю зеркальную версию на C #.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]