1、为什么记录这个问题?
因为我按照网上教程做了之后,因为我的子模块的字符编码格式有问题导致我的项目直接卡死不能动了。
2、问题背景:
我的编码有问题然后我加了这一句,也就是强制指定编码方式和解析方式;
但是这也干扰了项目本来编码方式是utf8 bom的文件,导致项目报错;
于是我试过最好的处理是改变子模块的编码方式为utf8 bom,然后让子模块加上
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
1、将子模块的后缀.pro改为.pri
2、重新写pri,利用ai软件,让ai改写,说清楚目的,要特别注意加上去之前,你的子模块不能带有上面那种强制指定编码解析方式的代码,不然导致整个项目解析出错,报几万个错误,瞬间死机。
记录一下子模块的pri
QT += core gui widgets xml # 迁移QT模块配置 CONFIG += c++11 # 迁移编译选项 DEFINES += QT_DEPRECATED_WARNINGS # 迁移宏定义 # 包含路径 INCLUDEPATH += $$PWD # 迁移文件列表(关键:使用 $$PWD 指定路径) HEADERS += \ $$PWD/color_setting_.h SOURCES += \ $$PWD/color_setting_.cpp DISTFILES += $$PWD/../resources/style.qss # 资源文件路径处理 RESOURCE_DIR = $$PWD/../colorscale # DEFINES += COLORSCALE_DIR=\\\"$$replace(RESOURCE_DIR, /, \\\\)\\\" DEFINES += COLORSCALE_DIR=\\\"$$RESOURCE_DIR\\\"
父模块的pri
INCLUDEPATH += $$PWD/QtColorSetting/Color_Setting_001
include($$PWD/QtColorSetting/Color_Setting_001/Color_Setting_001.pri)