vtkRenderer 错误
Error with vtkRenderer
我是 vtk 的新手,所以我开始使用 CMake 和 Visual Studio 2017 构建 vtk 8.1.1,使用默认选项和示例。
许多示例运行良好,但其中一些出现错误:
这个是CreateTree的例子,但是HelloWorld报同样的错误
不知道和this issue有没有关系。
我也试过 this question and this one 的解决方案。但是当我添加
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
在所有包含之后,Visual Studio 给我这个错误:
1>CreateTree.obj : 错误 LNK2019: 未解析的外部符号 "void __cdecl vtkRenderingOpenGL2_AutoInit_Construct(void)" (?vtkRenderingOpenGL2_AutoInit_Construct@@YAXXZ) 在函数 "public: __thiscall vtkRenderingOpenGL2_ModuleInit::vtkRenderingOpenGL2_ModuleInit(void)" (??0vtkRenderingOpenGL2_ModuleInit@@QAE@XZ)
1>CreateTree.obj : 错误 LNK2019: 未解析的外部符号 "void __cdecl vtkRenderingOpenGL2_AutoInit_Destruct(void)" (?vtkRenderingOpenGL2_AutoInit_Destruct@@YAXXZ) 在函数 "public: __thiscall vtkRenderingOpenGL2_ModuleInit::~vtkRenderingOpenGL2_ModuleInit(void)" (??1vtkRenderingOpenGL2_ModuleInit@@QAE@XZ)
1>C:\vtkSource\bin\bin\Debug\CreateTree.exe : 致命错误 LNK1120: 2 个未解析的外部程序
如果我尝试 VTK_MODULE_INIT(vtkRenderingWindow)
或 VTK_MODULE_INIT(vtkRenderingOpenGL)
我会得到同样的错误。
此外,像 Delaunay3D 这样的例子只会打开一个 window,然后关闭得如此之快,我什至看不到它到底有什么。
您是否尝试添加以下行
vtkRendering${VTK_RENDERING_BACKEND}
到 CMakeLists.txt
中的 set(VTK_Modules ...)
命令,用于 HelloWorld
或 CreateTree
项目,就像 the link you posted 中建议的那样。
编辑
为了给初学者扩充说明,CMakeLists.txt
就是路径VTK-8.1.1\Examples\Infovis\Cxx
。该文件应如下所示:
我是 vtk 的新手,所以我开始使用 CMake 和 Visual Studio 2017 构建 vtk 8.1.1,使用默认选项和示例。
许多示例运行良好,但其中一些出现错误:
这个是CreateTree的例子,但是HelloWorld报同样的错误
不知道和this issue有没有关系。
我也试过 this question and this one 的解决方案。但是当我添加
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
在所有包含之后,Visual Studio 给我这个错误:
1>CreateTree.obj : 错误 LNK2019: 未解析的外部符号 "void __cdecl vtkRenderingOpenGL2_AutoInit_Construct(void)" (?vtkRenderingOpenGL2_AutoInit_Construct@@YAXXZ) 在函数 "public: __thiscall vtkRenderingOpenGL2_ModuleInit::vtkRenderingOpenGL2_ModuleInit(void)" (??0vtkRenderingOpenGL2_ModuleInit@@QAE@XZ)
1>CreateTree.obj : 错误 LNK2019: 未解析的外部符号 "void __cdecl vtkRenderingOpenGL2_AutoInit_Destruct(void)" (?vtkRenderingOpenGL2_AutoInit_Destruct@@YAXXZ) 在函数 "public: __thiscall vtkRenderingOpenGL2_ModuleInit::~vtkRenderingOpenGL2_ModuleInit(void)" (??1vtkRenderingOpenGL2_ModuleInit@@QAE@XZ)
1>C:\vtkSource\bin\bin\Debug\CreateTree.exe : 致命错误 LNK1120: 2 个未解析的外部程序
如果我尝试 VTK_MODULE_INIT(vtkRenderingWindow)
或 VTK_MODULE_INIT(vtkRenderingOpenGL)
我会得到同样的错误。
此外,像 Delaunay3D 这样的例子只会打开一个 window,然后关闭得如此之快,我什至看不到它到底有什么。
您是否尝试添加以下行
vtkRendering${VTK_RENDERING_BACKEND}
到 CMakeLists.txt
中的 set(VTK_Modules ...)
命令,用于 HelloWorld
或 CreateTree
项目,就像 the link you posted 中建议的那样。
编辑
为了给初学者扩充说明,CMakeLists.txt
就是路径VTK-8.1.1\Examples\Infovis\Cxx
。该文件应如下所示: