Использование PCL с Visual Studio 2010 - PullRequest
3 голосов
/ 10 августа 2011

Я новичок в работе с библиотеками, и у меня есть некоторые проблемы.

Я установил PCL и все зависимости на моем компьютере (Windows 7, 32-разрядная версия), и я могу создавать и использовать простые примеры, такие как пример «Простая облачная визуализация» .Но если я хочу использовать более полный пример , Visual Studio 2010 сообщает об ошибках компоновки.

Если я правильно понимаю, я не включил все необходимые «Дополнительные зависимости» в «Linker /Input».Я попытался включить все .lib файлы из каталога lib, но отчет об ошибке все тот же.

Кто-нибудь знает, какой .lib должен быть добавлен как «Дополнительные зависимости», чтобы сделать более полный пример работы?Или проблема где-то еще?

сообщение об ошибке:

1> main.obj: ошибка LNK2019: неразрешенный внешний символ "public: class vtkProperty * __thiscall vtkActor :: GetProperty (void)"(? GetProperty @ vtkActor @@ QAEPAVvtkProperty @@ XZ) упоминается в функции" public: bool __thiscall pcl :: visualization :: PCLVisualizer :: addSphere (структура pcl :: PointXYZ const &, double, класс std :: basic_string, класс std:: allocator> const &, int) "(?? $ addSphere @ UPointXYZ @ pcl @@@ PCLVisualizer @ visualization @ pcl @@ QAE_NABUPointXYZ @ 2 @ NABV? $ basic_string @ DU? $ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@ H @ Z) 1> main.obj: ошибка LNK2019: неразрешенный внешний символ "void __cdecl pcl :: console :: print (enum pcl :: console :: VERBOSITY_LEVEL, char const *), ...) "(? print @ console @ pcl @@ YAXW4VERBOSITY_LEVEL @ 12 @ PBDZZ) упоминается в функции" public: bool __thiscall pcl :: visualization :: PCLVisualizer :: addSphere (struct pcl :: PointXYZ const &, double,класс std :: basic_string, класс std :: allocator> const &, int) "(?? $ addSphere @ UPointXYZ @ pcl@@@ PCLVisualizer @ visualization @ pcl @@ QAE_NABUPointXYZ @ 2 @ NABV? $ Basic_string @ DU? $ Char_traits @ D @ std @@ V? $ Allocator @ D @ 2 @@ std @@ H @ Z) 1> main.obj: ошибка LNK2019: неразрешенный внешний символ «public: __thiscall vtkSmartPointerBase :: ~ vtkSmartPointerBase (void)» (?? 1vtkSmartPointerBase @@ QAE @ XZ), на который есть ссылка в функции «public: __thiscall vtkSmartPointerSointer :: vo»: vo: vo?1? $ VtkSmartPointer @ VvtkLODActor @@@@ QAE @ XZ) 1> main.obj: ошибка LNK2019: неразрешенный внешний символ «public: __thiscall vtkSmartPointerBase :: vtkSmartPointerBase (void)» (?? 0vtkSmartP)функция "public: __thiscall vtkSmartPointer :: vtkSmartPointer (void)" (?? 0? $ vtkSmartPointer @ VvtkLODActor @@@@ QAE @ XZ) 1> main.obj: ошибка LNK2019: неразрешенный внешний символ "public: __thiscall vtkPoPointer :: vtBasePtinter ::(класс vtkSmartPointerBase const &) "(?? 0vtkSmartPointerBase @@ QAE @ ABV0 @@ Z) указан в функции" public: __thiscall vtkSmartPointer :: vtkSmartPointer (класс vtkSmartPointer const &) "(?? 0?$ VtkSmartPointer @ VvtkProp @@@@ QAE @ ABV0 @@ Z) 1> main.obj: ошибка LNK2019: неразрешенный внешний символ "общественность: __thiscall vtkSmartPointerBase :: vtkSmartPointerBase (класс vtkObjectBase *)" (?? 0vtkSmartPointerBase @@ QAE @ PAVvtkObjectBase@@@ Z) ссылка на функцию public@@@@ Z) 1> main.obj: ошибка LNK2019: неразрешенный внешний символ "public: class vtkSmartPointerBase & __thiscall vtkSmartPointerBase :: operator = (класс vtkObjectBase *)" (?? 4vtkSmartPointerBase @@ QAEAAV0 @@BasevO @@Bject)упоминается в функции "public: class vtkSmartPointer & __thiscall vtkSmartPointer :: operator = (class vtkSmartPointer const &)" (?? $? 4VvtkLODActor @@@? $ vtkSmartPointer @ VvtkProp @@@@AAV0 @ vv vo $)@@@ Z) * ​​1016 *

1 Ответ

1 голос
/ 02 марта 2012

Возможно, вы установили неправильную версию PCL (64 бит / 32 бит).Проверьте версию VS и установите PCL соответственно.Обратите внимание, что даже если вы используете 64-битную систему, ваш компилятор может работать в 32-битной системе.

...