QT开发的程序第一次在其他电脑上运行

一、情况:提示缺少qt5chartsd.dll、qt5Widgets.dll等部件。

 原因:*.exe文件下没有找到qt自带的dll。

 解决方法(任选一项):1、在新电脑上安装qt,并将bin目录加入环境变量中(qt默认不添加),自此程序运行时会自动到bin目录中找寻相应dll文件(适用于qt自身的dll)

 2、在开发电脑上,利用对应版本的qt命令行程序执行 "deployqt  sfr.exe", qt会自动将使用到的dll加入到该目录下。

 

 

二、情况:完成一中所述之后,执行程序时扔报错"应用程序无法正常启动0xc000007b"。

原因:网上搜索了很多可能原因,如:dx9组件缺失、微软运行库缺失,32位和64位dll混用等,用notepad打开各个dll文件检查发现,是运动控制卡的动态链接库是64位的,而程序是32位的,因此引起了0Xc0000007b的错误。这一类错误十分隐蔽,因此在加入dll文件时务必注意是否匹配。

解决方案:找到运动控制卡sdk,将其32位的dll拷贝到exe文件同级下。即解决。

三、情况:运行程序报错缺少vtk......,但是QT程序中并没有直接用到VTK库。

原因:添加的opencv库非官方,其中选择了vtk功能,但本项目中并不需要该功能。

解决方案:1、用CMAKE编译vtk库,将其bin目录加入到环境变量中,不利于部署推广,故不推荐。

2、换opencv版本,由于程序中只用到基础功能,因此使用官方版本替换,重新编译执行,此时只需要一个opencv_world300(d).dll即可。

posted @ 2020-07-01 11:24  轩辕痕  阅读(1371)  评论(0)    收藏  举报
Live2D