同一台主机中,Qtcreater运行过后,在debug文件中的exe文件无法运行,做如下提示。
这是由于缺乏各种支持exe的Qt库文件。
解决办法,在环境变量中加入:
D:\Qt\Qt5.9.5\5.9.5\mingw53_32\bin\
以上方法仅适用于Qt适用MinGW编译器编译的文件,如果是使用MSVC编译的话,需要在环境变量中加入:
D:\Qt\Qt5.9.5\5.9.5\msvc2015_64\bin
MinGW和MSVC是两种不同的编译器,故要添加相应的编译文件。
MinGW和MSVC的区别:
他们都是很好用的编译工具,但是他们兼容的并不好。当你的项目使用MinGW编译的使用,想要用一个MSVC编译生成的库时就会有问题。使用MinGW编译项目的时候,所使用的Lib也要是MinGW编译的。如果你只是开发Window平台的软件时,最好用Qt MSVC组合,这样可以使用大量的第三方lib,还有很多的构建指令,毕竟window上MSVC才是王道。
编码的问题,QT5的Qstring默认是UTF8格式,QT5极力推介把源码用UTF8格式存储。 但是MSVC只支持带BOM的UTF8格式,qmake不支持带BOM的UTF8格式,只能用GBK。这样的话,用qt5,每次都要Qstring::fromLocal8bit(“我是中国人”);况且就算BOM问题解决了,源代码是UTF8了。MSVC的执行编码也是GBK。这个问题这里有一些探讨
关于Qt中string类具体的存储问题,可参看下面的博文,很详细:
https://blog.csdn.net/dbzhang800/article/details/7540905#comments