QT5 编译程序运行,报错丢失libgcc_s_sjlj1.dll。尝试重新安装该程序以解决此问题。

摘要:
之前一直正常使用,最近在QTCreator中运行程序,直接程序异常结束,单独启动EXE程序时,报以上错误。最后把问题锁定在libstdc++-6.dll库上,尝试把QT环境bin目录下的libstdc++-6.dll拿到程序运行目录下,临时解决此问题。先安装的程序也可以正常运行,如果不知道System32下的libstdc++-6.dll库是哪个程序放哪的,那只能看自己取舍了。

QT5 编译程序运行,报错丢失libgcc_s_sjlj1.dll。尝试重新安装该程序以解决此问题。第1张

之前一直正常使用,最近在QT Creator中运行程序,直接程序异常结束,单独启动EXE程序时,报以上错误。

最后把问题锁定在libstdc++-6.dll库上,尝试把QT环境bin目录下的libstdc++-6.dll拿到程序运行目录下,临时解决此问题。

QT5 编译程序运行,报错丢失libgcc_s_sjlj1.dll。尝试重新安装该程序以解决此问题。第2张

原因是最近安装过一个程序,这个程序在C:\Windows\System32下放了一个libstdc++-6.dll:

QT5 编译程序运行,报错丢失libgcc_s_sjlj1.dll。尝试重新安装该程序以解决此问题。第3张

解决方式是把System32下的libstdc++-6移动到新安装程序目录下, 这样QT程序就能根据Windows动态库搜索规则,正常命中 PATH中QT路径下的libstdc++-6.dll。

先安装的程序也可以正常运行,如果不知道System32下的libstdc++-6.dll库是哪个程序放哪的,那只能看自己取舍了。

补充:

Windows程序运行动态库搜索目录顺序(参考: https://www.cnblogs.com/findumars/p/4995536.html):

1. 程序所在目录下搜索

2. Windows 系统目录

3. Windows\System32 目录

.....

n. PATH 环境变量中目录

因为新安装的程序在Windows\System32目录下放了一个libstdc++-6.dll,所以程序在运行的时候搜索动态库过程:

1. 程序所在目录下搜索 libstdc++-6.dll: 没有

2. Windows下搜索libstdc++-6.dll: 没有

3. Windows\System32 下搜索libstdc++-6.dll: 有! 搜索结束

以前Windows\System32下没有libstdc++-6.dll,所以还会根据搜索过程向下搜索:

.....

n. PATH环境变量中;分割开,每个路径下搜索libstdc++-6.dll, 一般安装QT环境后,会在PATH中至少添加一个目录,这个目录下有QT程序运行环境需要的一些库文件(QTCore、QTNetwork....) 所以之前程序运行正常。

免责声明:文章转载自《QT5 编译程序运行,报错丢失libgcc_s_sjlj1.dll。尝试重新安装该程序以解决此问题。》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇git 场景 :从一个分支cherry-pick多个commit如何使用asp.net导出PDF文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Qt 5.7 版本+2013VS环境配置

    原本是使用MSVC5.5.1的版本,碍于习惯,之前一直使用creator,后面才转向VS,因为它的调试实在是太棒了,小程序还是creator调试(比如抽出大程序中的小模块之类的) 不知道是版本问题还是我自己笔记本问题,5.5.1这个在添加的资源中使用图片一直路径失败,4.6又能成功调用到资源,在VS中也可以,然后手残卸载了MSVC5.5.1,同理,...

liteos 从入门到放弃

这两天收到一份sdk,hisi 3516cv200 liteos的sdk 正好手头有硬件,就随便编译玩玩. 解压sdk. Hi3518E_SDK_V5.0.5.0 ll@ubuntu:~/work2016/liteos/Hi3518E_SDK_V5.0.5.0$ ls -lh total 32K drwxrwxr-x 4 ll ll 4.0K Oct 25...

Linux下的头文件搜索路径

对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置、连接库位置等),然后生成Makefile以编译程序。可以进入该软件的目录,执行"./configure --help"命令查看使用帮。 一个程序能正确编译、链接、运行需要满足3个条件:预处理时能找到头文件,连接时能找到库(静态库或动态库),运...

aarch64-linux-gnu交叉编译Qt4.7.3

到 Qt 官网下载合适的 Qt 版本,地址:http://download.qt-project.org/archive/qt/ 1.环境搭建: 1.安装automake、libtool 和主机上的 Qt 工具: $ sudo apt-get install automake autoconf libtool m4 $ sudo apt-get insta...

go 学习 (一):环境配置

Go 下载地址:https://golang.google.cn/dl/ 1、右键我的电脑 --> 左上方 “高级系统设置” ---> 环境变量 --> 第二个菜单栏 “系统变量” --> 找到变量名为 “Path” --> 双击并点击新建,添加 go/bin 目录 --> 点击确定才会生效 2、新建文件夹作为源码的...

windows下makefile命令详解

转自https://blog.csdn.net/xiexievv/article/details/45775005 1. 如果已经有vc6的dsp工程,可直接导出nmake脚本文件(.mak) “Project - Export Makefile...” nmake -f nMakeTest.mak CFG="nMakeTest - Win32 Debu...