zoukankan      html  css  js  c++  java
  • Qt编程之信号与槽-------unresolved external symbol "public: virtual struct QMetaObject const * __thiscall XX::metaObject(void)const

    原因是加入Q_OBJECT这个macro的类,被编译的时候就要用到moc这个命令,所以在VS2010中,没有加入此命令的应用,当然会出错了。所以解决办法是加,或者如果你不使用信号槽可以直接删除。

    当要在GUI中用到信号与槽,就需在.h文件中的类里写入Q_OBJECT宏。而任何含有Q_Object的类都必须使用Qt的moc工具生成对应的cpp文件,然后在项目里面包含这个cpp,编译才能成功,否则会出错链接错误,moc yourfilename.h -o moc_youfilename.cpp,这是moc命令行的使用。

    Qt自动生成moc文件:

    命令行生成moc文件的方式:

    cd C:/Qt/4.7.1/bin

    moc  .h文件群路径 -o 要生成的moc文件的全路径;

    例如:

    VS中不是用addin创建的项目,自动生成moc文件的设置:

    在VS的解决方案管理器里面,右键需要生成moc文件的头文件-打开属性窗口;

    常规-项类型,选择自定义生成工具;

    关闭属性窗口重新打开,就出现了自定义生成工具选项;

    自定义生成工具-常规:

    命令行:"$(QTDIR)inmoc.exe"  "%(FullPath)" -o ".GeneratedFiles$(ConfigurationName)moc_%(Filename).cpp"

    输出:.GeneratedFiles$(ConfigurationName)moc_%(Filename).cpp

     将输出视为内容:是

     链接对象:是

    如果编译还有问题,在解决方案资源管理器里阿敏,右键生成的moc文件打开属性窗口;

    配置属性-常规:设置下在debug和release下面分别设置下是否在项目中排除的属性;

    references:

    http://blog.csdn.net/zxgis/article/details/8243493

    http://liangbing8612.blog.51cto.com/2633208/596269

    http://www.cnblogs.com/liuyunfeifei/archive/2013/05/01/3052856.html

    http://blog.csdn.net/hackbuteer1/article/details/6573317

    http://stackoverflow.com/questions/7272040/q-object-problem-in-visual-c

    http://blog.sina.com.cn/s/blog_687960370101dd79.html

    http://stackoverflow.com/questions/14170770/unresolved-external-symbol-public-virtual-struct-qmetaobject-const-thiscal

    http://blog.csdn.net/xiaofengkuang/article/details/9999147

    一个搜索时候搜索到的关于用VS2010重新编译Qt的附属产物:

    http://stackoverflow.com/questions/5601950/how-to-build-qt-for-visual-studio-2010

  • 相关阅读:
    艾伟_转载:ASP.NET缓存 狼人:
    艾伟_转载:VS 2010 和 .NET 4.0 系列之《在VS 2010中查询和导航代码》篇 狼人:
    艾伟_转载:Visual Studio DSL 入门 2 狼人:
    艾伟_转载:VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇 狼人:
    艾伟_转载:对ArrayList中的自定义类型进行搜索 狼人:
    艾伟_转载:总结字符串比较函数 狼人:
    poj 2739 Sum of Consecutive Prime Numbers
    BBIT工作感想(二)
    Zenoss4.2.3对中文事件的部分支持修改
    第五周项目一(扩展)矩形类
  • 原文地址:https://www.cnblogs.com/foohack/p/3867364.html
Copyright © 2011-2022 走看看