问题现象
如下所示,在开发环境中补齐后可以执行程序,但是打包到其它电脑上时提示缺少相关库。
![图片[1] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image.png)
![图片[2] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image-1-1024x699.png)
原因分析
1.QT的bin目录已经添加到环境变量中,所以才能在终端中直接执行windeployqt程序。这个没问题。
![图片[3] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image-4.png)
2.报错提示缺少的相关库,在上图所示添加到环境变量中的路径中都能够找到。
![图片[4] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image-3-1024x161.png)
![图片[5] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image-5-1024x162.png)
3.通过上述查询不能理解为什么有文件,而没有把库文件放到程序目录。。这里再重新执行命令补齐,仔细查看补齐时的终端日志。发现如下:Warning: Cannot find GCC installation directory. g++.exe must be in the path.
![图片[6] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image-2.png)
解决办法
1.根据上面分析过程,可能是需要添加g++.exe的路径,我们通过搜索找到此文件在C:\Qt\Qt5.6.1\Tools\mingw492_32\bin 目录下,所以尝试将此目录设置为环境变量。
![图片[7] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image-6-1024x504.png)
2.再次执行windeployqt动态链接库补齐命令,发现没有报错,并且补齐后的目录出现了之初缺失的库。
![图片[8] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image-7-1024x433.png)
效果
再次打包到其它电脑执行程序时,能正常执行成功!
![图片[9] - 使用QT的windeployqt程序补齐动态链接库后,在其它电脑上程序报错,提示:由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题。 - 正则时光](https://www.regular.cc/wp-content/uploads/2024/02/image-8-1024x736.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END