Я пытаюсь включить 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?
Вы забыли добавить библиотеку polyvox в свой игровой проект. Это в Linker меню и называется «Дополнительные зависимости», IIRC.
Других решений пока нет …