c++ - 使用 Cmake 编译库

标签 c++ visual-studio linker cmake voxel

我正在尝试将体素库 PolyVox 添加到我的项目中。但是,库下载不会为您提供预编译的头文件,而是需要 Cmake。这不是什么大问题,只是他们关于该主题的教程极度不完整。我以前从未使用过 Cmake,搜索也没有解决这个问题。

我用 Visual Studio 10 编译器运行了 Cmake,它生成了一堆 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)

有人可以向我解释如何使用 Cmake 将 PolyVox 正确地包含到我的代码中吗?

最佳答案

您忘记在您的游戏项目中添加 polyvox 库。它在 Linker 菜单中,称为“附加依赖项”,IIRC。

关于c++ - 使用 Cmake 编译库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12701926/

相关文章:

c++ - 字符串操作 C++

git - Visual Studio 2017 中 cherry-pick 提交方法的区别

c++ - 无法链接到 `libPocoFoundation` Poco C++ 框架

c++ - C 和 C++ 调用约定之间有什么区别?

c++ - 比特集比 bool 数组快吗?

c++ - 来自母保护字段的非静态数据成员初始化

c++ - 如何在 Eigen 中定义行优先稀疏 vector

winforms - 如何根据分辨率调整控件大小?

windows - 将代码从 Linux 移植到 Windows

linux - 为什么不可能完全静态地链接应用程序?