当前位置: 代码迷 >> QT开发 >> 为啥vs2013安装qt后,编译不通过
  详细解决方案

为啥vs2013安装qt后,编译不通过

热度:374   发布时间:2016-04-25 02:53:10.0
为何vs2013安装qt后,编译不通过
如题,电脑是64位系统,安装了vs2013,安装了qt5.4和qt5.5,以及插件,但是用向导建立Qt Application工程,自动生成后,却练级不通过,报错如下

1>qttest.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __cdecl QTTest::metaObject(void)const " (?metaObject@QTTest@@UEBAPEBUQMetaObject@@XZ)
1>qttest.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __cdecl QTTest::qt_metacast(char const *)" (?qt_metacast@QTTest@@UEAAPEAXPEBD@Z)
1>qttest.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __cdecl QTTest::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QTTest@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
1>C:\vsQT\QTTest\x64\Debug\\QTTest.exe : fatal error LNK1120: 3 个无法解析的外部命令


网上找了这个,也有人遇到过,说什么编译出一个moc_xx.cpp就可以,我的工程能自动生成那个,但却是空白的,估计就是这个导致的,想问下有没有解决的办法,至于说通过xx.h编译生成moc_xx.cpp,我也试过,但这个moc_xx.cpp文件依然是空白无内容的,请问这个是什么原因?但是我建立的console工程,却是可以使用的
------解决思路----------------------
我也遇到过这个问题,不生成moc文件。
我当时是建的QT4的工程,然后使用QT5打开,编译,导致不能正常生成moc文件。
最后是重新使用QT5新建工程才正常。具体原因,估计就是QT版本冲突吧。
------解决思路----------------------
可能是moc失效了。
------解决思路----------------------
我也是VS2013写的。。 不过我写的好好的啊,你安装好后还需要搞一些设置。配置好了才能正常编写代码。 如何配置可以从百度搜素  QT vs2013 安装等关键子。。。