这个是因为链接器在给定路径上搜索不到对应的头文件,而大多数的Qt相关的头文件都集中在一个include文件夹里:
我电脑上的路径是:C:\Qt\Qt5.9.7\5.9.7\msvc2017_64\include
然后我们在项目设置里:
注意,这边要加上\*,因为include里的文件才是我们想要的:
//Qdebug的源码:
我们可以看到qDebug其实是一个函数的宏,我们会发现,这个函数是返回了一个QDebug类:
我们继续跟踪这个类:
发现这个类里面有一个内部类为Stream,大概作用应该是对接到C++的标准流上面,在上面做一些处理工作,适配器?
然后我们看看我们最关心的格式问题,及QDebug这个类能接受什么样的数据:
这个文件是可写文件,我们也可以在里面承载自己的类;
实验一下:
没问题!
当然,我们要在项目设置里->链接器->子系统中将控制台给调出来才能看见结果;
Q_CLASSINFO
这个宏的话,好像跟踪不到;
但是更具我们的观察来看,其像一个map,有一个name和一个value;
左边是name,右边是value,但是我没知道有什么东西能能从name映射到value
我们可以通过在类内部声明这一句话,来给类添加一些信息:
调用方法也很简单:
运行结果: