當你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);
等。
修改后,程序就可以順利運行了。