我希望在项目中使用OpenVDB库。该库已在使用\ MD的发行版本的Windows7 x64上成功编译(如https://github.com/rchoetzlein/win_openvdb中所述)。 OpenVDB_cookbook也可以成功编译和执行。如果我将自己的代码放在cookbook中,它也会成功编译并执行。
但是,
如果我将库链接到现有项目,
或者我在新项目中复制粘贴相同的代码(来自cookbook)并使用相同的cmakelists.txt,Find * .cmake文件和项目属性中的所有相同选项,而不是来自cookbook,
它抛出链接器错误'LNK2019:未解析的外部符号“void_cdecl openvdb :: v3_0_0 :: initialize(void)”在函数main'中引用
即使是最简单的表格代码:
#include <openvdb.h>
void main()
{
openvdb::initialize();
}
抛出此链接器错误。
任何想法我做错了什么?我已经上了几天而且无法解决它。
所有库IlmBase,OpenEXR,glew,glfw,boost和OpenVDB都使用cmake成功链接,并存在于项目属性页面中。
感谢您的帮助。
答案 0 :(得分:0)
通过添加dir \ src解决了这个问题。和dir \ src ..到属性下的附加包含目录 - &gt; C / C ++ - &gt;一般。其中dir是源和构建所在的目录。我不知道为什么我不得不添加它。