Компиляция библиотеки с помощью 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.

Другие вопросы по тегам