Компиляция библиотеки с помощью Cmake
Я пытаюсь включить PolyVox, библиотеку вокселей, в свой проект. Однако загрузка библиотеки не предоставляет вам предварительно скомпилированные заголовки, а требует Cmake. Это не будет большой проблемой, за исключением того, что их учебник по этому вопросу крайне неполон. Я никогда не использовал Cmake раньше, и поиск не пролил свет на проблему.
Я запустил Cmake с компилятором Visual Studio 10, который сгенерировал кучу проектов Visual Studio. Я скомпилировал эти проекты в 2 библиотеки и включил каталоги библиотек в свойствах проекта. Я также поместил все заголовочные файлы PolyVox в каталоги, о которых Visual Studio знает. При попытке скомпилировать мой проект я получаю ошибки компоновщика, такие как:
1>Gamestate.obj : error LNK2019: unresolved external symbol "public: __thiscall PolyVox::Region::Region(class PolyVox::Vector<3,int> const &,class PolyVox::Vector<3,int> const &)" (??0Region@PolyVox@@QAE@ABV?$Vector@$02H@1@0@Z) referenced in function "public: __thiscall Gamestate::Gamestate(void)" (??0Gamestate@@QAE@XZ)
Может кто-нибудь объяснить мне, как правильно включить PolyVox в мой код с помощью Cmake?
1 ответ
Вы забыли добавить библиотеку polyvox в свой игровой проект. Он находится в меню Linker и называется "Дополнительные зависимости", IIRC.