Visual Studio 编译Qt代码,如果 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall SosButton::metaObje等类似错误,
可以将对应的头文件(如上面错误对应的SosButton.h) 中,Q_OBJECT先去掉,编译一下,再加上Q_OBJECT再编译一下即可,当然前提是代码没有语法错误。
该错误的原因是moc 元对象编译器 未能成功生成moc_xxx.cpp,故Q_OBJECT删除/增加,来让moc识别到需要生成moc_xxx.cpp的头文件。