VTK生成项目是出现无法解析的外部符号的解决办法

当你VTk所有目录和链接库加入到属性页中后,或许还会遇见一个让人头疼的问题:

这是为什么呢?

大部分新手可能都是在配置完毕后亟不可待地在网上找了一段测试代码就进行测试,并没有考虑测试代码之中的陷阱。然后就出现了这个问题。

其实这个问题的原因就在程序开头两句:

#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL) 
#define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)

 

这两句时6.0版本之前用的,官方有文档说明:

“If you are using an older version of VTK (6.0 or master from before the date above) than you can try including this snippet in all your code that includes VTK usage, BEFORE including ANY VTK header files:
#define vtkRenderingCore_AUTOINIT 4(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingFreeTypeOpenGL,vtkRenderingOpenGL) #define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL)”

在6.0之后,要改成下面两句:

#include <vtkAutoInit.h> 
VTK_MODULE_INIT(vtkRenderingOpenGL);

根据需要还有:

VTK_MODULE_INIT(vtkRenderingFreeTypeOpenGL);
VTK_MODULE_INIT(vtkInteractionStyle);

等。

修改后,程序就可以顺利运行了。

posted @ 2016-12-29 20:49  valar、  阅读(4565)  评论(0编辑  收藏  举报