从外部导入版本不匹配的Qt工程项目时遇到的问题及解决方法

从外部导入版本不匹配的Qt工程项目时遇到的问题及解决方法

代码文本编码问题

因为IDE的版本不同,代码保存时可能使用了不同的编码格式,例如UTF-8,UTF-8(BOM),GB2312,Unicode等。

问题:UTF-8格式编码的代码中的汉字显示乱码。
解决方法:可能是有无BOM头导致,可尝试用写字板打开后,复制文本粘贴到新建记事本中,另存为UTF-8格式的代码文本,覆盖原文件。

问题:编译时报错“无法解析的外部符号”,经查看发现生成的moc_xxx.cpp为空文件,且错误信息中提示对应的xxx.h(0)中有问题,猜测同样是编码问题导致,实测将编码格式由Unicode转换为UTF-8后解决。
解决方法:记得先清理生成文件,然后将对应的代码文件“xxx.h”按上个问题的解决方式转换为UTF-8格式编码,重新生成即可解决问题。

总结:在交接代码时注意文本编码格式问题。要从源头上解决问题,首先要将IDE的读取文本方式理解,查找相关可修改项。其次是需要安装专业的文本编辑工具,如Notepad++,用来处理文本编码的问题。

 

其他

问题:include文件红线,但环境变量与路径没有任何问题。
解决方法:查看Qt VS Tools->Qt project settings是否没有设置模块勾选。

问题:Qt VS Tools->Qt project settings中,模块勾选无法保存。
解决方法:在Properties选项卡中,先设置好Version的值,再勾选模块。

问题:找不到ui_xxx.h
解决方法:在Form File中找到对应的.ui文件,选中编译,将生成的ui_xxx.h添加到头文件文件夹中。

问题:添加qcustomplot报无法解析的外部符号。
解决方法:“项目属性 -> 配置(C): Debug”
“项目属性 -> 配置属性 -> 链接器 -> 输入 -> 附加依赖项”里面添加“Qt5PrintSupportd.lib”;
“项目属性 -> 配置(C): Release”
“项目属性 -> 配置属性 -> 链接器 -> 输入 -> 附加依赖项”里面添加“Qt5PrintSupport.lib”;

0
打赏
135
0
吐槽

- 评论

  • 加载中,请稍候…
我要吐槽