2012-01-12 201 views
0

我是新来的Qt,现在我正在开发使用Visual Studio 2008的一个简单的应用程序,当我建立的代码,会出现以下错误:如何解决错误LNK2001:无法解析的外部符号?

error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Window::metaObject(void)const " ([email protected]@@[email protected]@XZ) 

error LNK2001: unresolved external symbol "public: virtual void * __thiscall Window::qt_metacast(char const *)" ([email protected]@@[email protected]) 

error LNK2001: unresolved external symbol "public: virtual int __thiscall Window::qt_metacall(enum QMetaObject::Call,int,void * *)" ([email protected]@@[email protected]@@[email protected]) 

error LNK2001: unresolved external symbol "public: static struct QMetaObject const Window::staticMetaObject" ([email protected]@@[email protected]@B) 

fatal error LNK1120: 4 unresolved externals 

我怎样才能解决这些错误?

+1

检查所有依赖关系...在Visual Studio上,转到项目属性 - >链接并检查qt4二进制文件 – jose 2012-01-12 09:44:04

回答

0

您需要在使用Q_OBJECT宏或从QObject继承的头文件上运行moc.exe。 为了简单起见,只需安装此qt vs addin,它会为您添加所有内容。您可能需要生成一个新项目。

相关问题