vs2015+qt5.9.7配置跨平台的工程

环境:vs2015 update 3 + qt 5.9.7

问题:代码中存在中文无法编译

附加目的:支持跨平台

问题分析:代码的编码格式导致中文编译错误,windows默认gb2312编码,qt默认utf8无签名编码

     若想支持跨平台,那必须qt+mingw能编译,那编码格式必须为utf8无签名

       而windows想要识别utf8就必须加入签名

 

过程:

    微软给出的vs支持utf-8的方案:https://docs.microsoft.com/en-us/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8?view=vs-2017

这样设置后,vs默认能编译含有中文的utf-8代码了。但qt依旧没法使用vs的编译工具进行编译。那接下来问题就是如何把这个选项设置到qt工程中去。办法也简单,在pro文件

最后加入两行:

win32:QMAKE_CXXFLAGS += /utf-8
win32:QMAKE_CFLAGS += /utf-8

到此问题解决。

但是没法用vs去新建文件,因为vs新建文件时默认使用系统编码。

vs装了qt-vs-addin后,在新建工程和添加类或者文件时选择qt文件即可。

posted on 2019-03-11 11:30  修身  阅读(1635)  评论(1编辑  收藏  举报

导航