QT5 编译程序运行,报错丢失libgcc_s_sjlj-1.dll。尝试重新安装该程序以解决此问题。
2021/12/14 12:16:57
本文主要是介绍QT5 编译程序运行,报错丢失libgcc_s_sjlj-1.dll。尝试重新安装该程序以解决此问题。,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
之前一直正常使用,最近在QT Creator中运行程序,直接程序异常结束,单独启动EXE程序时,报以上错误。
最后把问题锁定在libstdc++-6.dll库上,尝试把QT环境bin目录下的libstdc++-6.dll拿到程序运行目录下,临时解决此问题。
原因是最近安装过一个程序,这个程序在C:\Windows\System32下放了一个libstdc++-6.dll:
解决方式是把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_sjlj-1.dll。尝试重新安装该程序以解决此问题。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain
- 2024-06-19EntBot.ai: AI Website Chatbot for Product Guides and Development Doc
- 2024-06-17zero-shot-learning-definition-examples-comparison
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享
- 2024-06-06基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor-icode9专业技术文章分享
- 2024-05-29Elasticsearch慢查询日志配置