问题出现的过程
- 安装QT5.7.1
- 通过vtk8.0.1源码基于QT5.7.1编译出QVTKWidget
- 写了个使用QVTKWidget的app,编译和连接都是成功的,生成了exe可执行文件
- 运行的时候报错。
“?rgbSwapped@Qimage@@QEGBA?AV1@XZ 于动态链接库C:\Proram Files\VTK\bin\vtkGUISupportQt-8.0.dll 上“
尝试过的操作
- 第一想法是lib与dll不配套。于是将电脑上的QT和vtk全部删除,重新安装QT,编译vtk,使用QVTKWidget,问题没有解决。
- 修改代码,移除QVTKWidget,app运行正常。不属于vtk编译问题。
- 将exe文件copy到之前打包过的app目录中。双击exe运行正常。跟QT安装无关。
- 将QT安装目录下的bin目录(C:\Qt\Qt5.7.1\5.7\msvc2015_64\bin)添加到环境变量中,重启电脑使环境变量生效,问题解决。
问题解决方式
将QT可执行目录(C:\Qt\Qt5.7.1\5.7\msvc2015_64\bin)添加到系统的环境变量中,并重启电脑。
- 点击桌面左下角的搜索圆圈,搜索 ”环境变量“
- 打开 ”编辑系统环境变量“
- 继续点击按钮 ”环境变量“
- 双击 系统环境变量中的 ”path“
- 点击 ”新建“按钮,输入字符串”C:\Qt\Qt5.7.1\5.7\msvc2015_64\bin“ 并确定
- 重启电脑,使设置的环境变量生效