Qt creator工程在电脑间拷贝出现的问题及解决过程

Qt工程在电脑间拷贝出现的问题及解决过程。记录以备后用。
Problem1,如下面两图:
在这里插入图片描述
在这里插入图片描述
原因:
在这里插入图片描述
是32位电脑的安装包。而原来的程序是在64位的电脑和64位版本的qt下建立的。
解决方法:
卸载原来的qt,重新安装下面的,有“64”字样的qt版本。
在这里插入图片描述
Problem2:
程序编译可以通过,点击运行后没有任何反应。显示为“程序异常结束”。“… \DetectionSoftware.exe creashed”.
根据网上搜索,这种问题是由于缺少dll造成的。如果想确定到底缺少什么dll,可以通过cmd命令运行相应的.exe(我这里是“DetectionSoftware.exe”)。也可以直接双击“DetectionSoftware.exe”,便会一一弹出缺少的dll.
在这里插入图片描述
解决过程:
通过上述方法,提示我缺少的dll是下面这些:
在这里插入图片描述
在这里插入图片描述
但是,我发现我的工程路径下已经有了这些dll了,并不缺少。根据进一步网上检索,给出的解决方案是将这些dll拷贝到“C:\Windows\System32”路径下。但是,拷贝之后,仍然不见起任何作用,就把这些dll向“C:\Windows\SysWOW64”路径也拷贝了一份。结果仍不好用。折腾了一天了,今天到此为止放弃了。

第二天早上,打开电脑,运行.pro文件,想要重看下问题,继续调试。结果神奇般地,程序好用了,没问题了。反思,拷贝了dll后应该重启电脑。一定要重启!!!!!无论是向程序所在目录拷贝了dll还是向C盘下的相应目录拷贝了dll,都一定要重启,重启就好了。

另外注意,relese和debug相应文件夹下(所有.exe所在文件夹)都要拷贝这些dll,如果只拷贝到了debug相应路径而relese相应路径下没有,那么relese版运行同样是不行的。

注意,提示缺少的dll一定要在当前电脑qt安装路径下的bin文件夹下去重新拷贝(我的电脑上是C:\Qt\Qt5.8.0\5.8\msvc2015_64\bin),而不能用这个程序以前别的电脑上拷贝过来的。dll尽量拷贝的多一点、全一点。如果拷贝的不全,或残留了旧版本的dll,会出现很多其他问题。而这些奇怪问题的原因都是缺少dll或不是当前电脑C:\Qt\Qt5.8.0\5.8\msvc2015_64\bin目录下的dll。


最后发现,当程序从一个电脑拷贝到另一个电脑不好用,出现什么qt platform不正确等相关的问题,或程序直接crashed问题,直接运行exe提示缺dll等诸多问题,都是因为:需要在当前电脑的qt/…/bin路径下拷贝出各个dll放到运行的程序所在的目录下,包括.pro文件所在目录,debug和release版本的exe文件所在目录。(电脑的环境变量啊、qt creator中的环境变量啊什么的,根本就没需要设置)

[1]利用cmd命令运行相应的.exe的方法
在这里插入图片描述
[2]在解决这个问题中,提供了非常重要、有用参考价值的网址。
https://blog.csdn.net/yellow_hill/article/details/78661963
https://blog.csdn.net/weixin_37552816/article/details/109144444?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-109144444-blog-89399450.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-109144444-blog-89399450.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=2
https://blog.csdn.net/qq_40456669/article/details/88783444

猜你喜欢

转载自blog.csdn.net/u014751362/article/details/128022571