QT 运行错误 exited with code -1073741515

构建环境 Qt5.9.5 + MSVC2015 32bit, 编译成功,运行时产生一下错误: 

Starting ****.exe...
exited with code -1073741515

问题原因:

  由于使用例C++第三方库如:boost、odb,或者第三方QML库如 toou2D,并且使用动态链接的方式进行链接,在运行时,由于缺少第三方库,导致报错。

解决方法:

  1、首先找到程序依赖的QT库,包括依赖的qml库: 打开当前使用的构建套件的命令行工具如: (MSCV 2015(32bit))

                 

 

       进入到运行的可执行文件***.exe目录下,

       输入  " windeployqt --qmldir C:\Qt\Qt5.9.5\5.9.5\msvc2015\qml .\ "  ,其中 C:\Qt\Qt5.9.5\5.9.5\msvc2015\qm 为QT安装环境 qml 所在位置。

       这样QT会自动将所依赖的动态库全部导入到程序所在位置。

       此外如果使用了第三方的QML库,QT可能不能自动导入第三方库,需要手动导入,如果我使用的Toou2,需要手动将包含Toou2D.dll的目录Toou2D放到当前目录下。

       2、逐个加入第三方库,如果不知道缺少什么库,可以先直接运行程序,程序会启动失败,并显示缺少的库文件,如:

            

 

        

      所有依赖的动态库导入后,便可正常启动。

      运行时最好是在非构建环境上运行,因为我们的构建环境会将新增很多的环境变量,当程序在当前目录下找不到依赖库时,会在环境变量的目录下寻找,所有经常出现调试或在编译机器上能够正常运行,拿到另一台电脑就不能运行了。

 

posted @ 2021-12-09 11:00  菜鸟_IceLee  阅读(4420)  评论(0编辑  收藏  举报