首页| 论坛| 消息
主题:将某个Qt4项目升级到Qt5遇到的问题
回帖:很久以前是一直用MinGW来着,用的UTF-8,为了和Linux GCC行为一致。后来使用ICE的时候,官方不提供MinGW版本的,就换MSVC了(当时还用MSVC2005),结果需要加BOM的UTF-8,为了MinGW、MSVC兼容,就改用GBK编码了。现在结果Qt又默认使用UTF-8,本来挺好的,就是MSVC问题不好处理,所以还得用GBK,并且历史及现维护项目都使用的是GBK,都换成UTF-8可能有未知问题(有调用WIN32 API的情况),所以还是用GBK吧。只不过以后写程序多加个宏或内联函数调用就行了。当然了,通用程序最好还是不写汉字而使用翻译。
发现许多开源库对MSVC不感冒,根本不提供MSVC的编译包或编译方式,这多麻烦。现在项目中用到了GMP C++接口,结果编译MSVC动态库好麻烦或根本就不支持(没见代码中有关于DLL类导出相关的东西,所以想使用C++接口只能调用静态库)。还有顶楼中所说的OWC10的问题,如果不升级的话,机器中永远得留着MSVC2008+Qt4.7.4,所以干脆全转成MinGW算了,逐渐升级到Qt5上面。其实MSVC挺不错的,它的发布基本上都是两年到三年一个大版本,然后后面跟个补丁版本。这样一个大版本,基本上能使用五年左右,甚至更长,保持了相对稳定,MinGW就麻烦点,GCC版本在不断的升级,自身build版本也众多,只能随手升级了。只要Qt官方能在每个发布包中提供MinGW就OK了,也省得自己安装MinGW和编译Qt了,上次编译了一次完整的4.8.4 release,花了三个小时,太麻烦了。很怀念4.3时代一次MSVC release编译只20分钟。以后遇到非MSVC不可的情况(比如这个ICE),就自己封装DLL供Qt/MinGW调用吧。
下一楼›:好像pro文件用带bom的utf8不能被qmake处理?
同样对于mingw如此众多的版本感觉很纠结……
‹上一楼:对于汉字编码问题,主要是MSVC和其他编译器行为不一致问题,比较简单的方法是:源文件都使用带BO ..

查看全部回帖(23)
«返回主帖