原因:
Qt开发中,当开了GUI中用到信号和槽,就需在.h文件中的类里写入Q_OBJECT宏。而任何含有Q_Object的类都必须使用Qt的moc工具生成对应的cpp文件,然后在项目里面包含这个cpp,编译才能成功,否则会出错链接错误。
解决办法:
在源码文件夹下,打开cmd窗口,输入“moc.exe window.h -o moc_window.cpp”,将moc_window.cpp,拷贝到对应的工程目录下,例如release文件夹下,并在VS中包含到工程下。
参考文章:
https://blog.csdn.net/niying/article/details/7257959,VS中Qt 开发《无法解析的外部符号 QMetaObject 》
https://blog.csdn.net/humanking7/article/details/80871729,[QT]VS中Qt自动生成moc_XXX.cpp文件的一些问题
在VS工程中更改文件属性并不好用,在工程外生成较好。