#c #point-cloud-library
#c #точка-облако-библиотека
Вопрос:
я придумал довольно странную мысль. При компиляции моей программы с использованием os x 10.9 и pcl я получаю следующую ошибку:
Undefined symbols for architecture x86_64:
"pcl::OpenNIGrabber::OpenNIGrabber(std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > constamp;, pcl::OpenNIGrabber::Mode constamp;, pcl::OpenNIGrabber::Mode
constamp;)", referenced from:
Я знаю, что я не единственный, у кого была эта ошибка, но, к сожалению, пока ничего не помогло. Дело в том, что у меня была точно такая же ошибка на моем компьютере с Windows, и я исправил ее, установив 32-битную версию pcl.
Итак, есть ли какой-либо способ скомпилировать pcl в 32-битном коде, используя мой mac? Это было бы действительно здорово. Кстати, я уже попробовал следующее, но потерпел неудачу:
cmake -DCMAKE_OSX_ARCHITECTURES=386
что следует:
clang: error: invalid arch name '-arch 386'
Я был бы очень признателен, если бы кто-нибудь мог дать подсказку о том, как решить эту проблему.
С наилучшими пожеланиями
Комментарии:
1. Эта архитектура должна быть i386 , а не 386 (по крайней мере, на моем mac)
2. Вы случайно определяете класс шаблонов с функциями, объявленными в файле cpp?
3. Нет, я просто обрабатываю объект OpenNIGrabber в моем main.cpp : pcl::Grabber* интерфейс = новый pcl::OpenNIGrabber();