最近使用Qt开发VTK程序,之前一直使用的是debug模式,偶然的一次将程序转换为release模式,就出现了QWidget: Must construct a QApplication before a QPaintDevice的运行时错误,导致程序无法运行。
网上搜到大部分的说法是Qt安装时,debug和release的lib以及dll混在一起导致的。但我做了相应更改后不能解决我的问题。
可行的解决方法:
将release模式的VTK的bin文件夹加入系统路径中即可。
但其他的问题又随之而来,按以上方法设置后,release模式的程序可以运行,但debug模式的程序就无法启动了。所以更好的解决方法是将release模式下生成的QVTK.dll拷贝到程序的release文件夹中。