1. warning C4003: “max”宏的实参不足
解决方案 -》 属性 -》 c/c++ -》预处理器 -》 预处理器定义,加上NOMINMAX即可
2.“QtGui/QApplication”: No such file or directory
QApplication已经从原来的<QtGui/QApplication>
移动到<QtWidgets/QApplication>了
3.警告 C4819
警告 C4819 该文件包含不能在当前代码页(936)中表示的字符。
请将该文件保存为 Unicode 格式以防止数据丢失
(1)找出警告的文件,然后在该文件的开始处加入下面的语句:# pragma warning (disable:4819)
(2)如果是 VS IDE,还可以:在Project -> Properties -> Configuration Properties -> C/C++
-> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;
4.#if QT_HAS_INCLUDE() || defined(Q_QDOC) 这句子出错了
解决方法:工具-〉选项-〉文本编辑器-〉c/c+±>高级-〉禁用自动更新改为:TRUE
5.无法打开包括文件: “QDomNode”
项目——>”XXX属性"——>配置属性——>C/C++——>配置环境
E:\aaaQGIS\OSGeo4W64\OSGeo4W64\apps\Qt5\include\QtXml
6.error C2065: “M_PI”: 未声明的标识符
项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,
将“_USE_MATH_DEFINES”添加进去
7.Q_OBJECT的类声明
由于 moc 只处理头文件中的标记了Q_OBJECT的类声明,不会处理 cpp 文件中的类似声明。
因此,如果我们的Newspaper和Reader类位于 main.cpp 中,是无法得到 moc 的处理的。
解决方法是,我们手动调用 moc 工具处理 main.cpp,
并且将 main.cpp 中的#include "newspaper.h"改为#include "moc_newspaper.h"就可以了