0

我希望在项目中使用 OpenVDB 库。该库已在 Windows7 x64 上使用 \MD 成功编译(如https://github.com/rchoetzlein/win_openvdb中所述)。OpenVDB_cookbook 也成功编译和执行。如果我将自己的代码放入说明书中,它也会成功编译和执行。

但,

  • 如果我将库链接到现有项目,

  • 或者我将相同的代码(来自说明书)复制粘贴到一个新项目中,并使用相同的 cmakelists.txt、Find*.cmake 文件以及项目属性中与说明书中相同的所有选项,

它引发链接器错误“LNK2019:函数 main 中引用的未解析的外部符号“void_cdecl openvdb::v3_0_0::initialize(void)”

即使是最简单的形式代码:

#include <openvdb.h>
void main()
{
    openvdb::initialize();
}

引发此链接器错误。

任何想法我做错了什么?我已经解决了几天,但无法解决它。

所有库 IlmBase、OpenEXR、glew、glfw、boost 和 OpenVDB 都使用 cmake 成功链接,并出现在项目属性页面中。

感谢您的帮助。

4

1 回答 1

0

通过添加 dir\src 解决了问题。和 dir\src.. 到 properties->C/C++->General 下的 Additional Include Directories。其中 dir 是源和构建所在的目录。我不知道为什么我必须添加这个。

于 2017-10-10T08:02:58.753 回答