环境: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文件
最后加入两行:
QMAKE_CXXFLAGS += /utf-8 QMAKE_CFLAGS += /utf-8
到此问题解决。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。