查看: 1950|回复: 2

OSGEarth编译错误

[复制链接]

该用户从未签到

发表于 2016-5-24 16:08:04 | 显示全部楼层 |阅读模式
/****************************************************************************
** Meta object code from reading C++ file 'AnnotationDialogs'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.5.1)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
E:\osgearth-2.7\VC2010\src\osgEarthQt\moc_AnnotationDialogs.cpp


#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'AnnotationDialogs' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.5.1. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif


7>  moc_AnnotationDialogs.cpp
7>moc_AnnotationDialogs.cpp(54): error C2653: “osgEarth”: 不是类或命名空间名称
7>moc_AnnotationDialogs.cpp(62): error C2653: “osgEarth”: 不是类或命名空间名称
7>moc_AnnotationDialogs.cpp(63): error C2653: “QDialog”: 不是类或命名空间名称
7>moc_AnnotationDialogs.cpp(68): error C2653: “osgEarth”: 不是类或命名空间名称
7>moc_AnnotationDialogs.cpp(69): error C2270: “metaObject”: 非成员函数上不允许修饰符
7>moc_AnnotationDialogs.cpp(70): error C2027: 使用了未定义类型“QObject”
7>          C:\Qt\Qt5.5.1\5.5\msvc2010\include\QtCore/qobjectdefs.h(247) : 参见“QObject”的声明
7>moc_AnnotationDialogs.cpp(70): error C2065: “d_ptr”: 未声明的标识符
7>moc_AnnotationDialogs.cpp(70): error C2227: “->metaObject”的左边必须指向类/结构/联合/泛型类型
7>          类型是“'unknown-type'”
7>moc_AnnotationDialogs.cpp(70): error C2027: 使用了未定义类型“QObject”
7>          C:\Qt\Qt5.5.1\5.5\msvc2010\include\QtCore/qobjectdefs.h(247) : 参见“QObject”的声明
7>moc_AnnotationDialogs.cpp(70): error C2065: “d_ptr”: 未声明的标识符
7>moc_AnnotationDialogs.cpp(70): error C2227: “->dynamicMetaObject”的左边必须指向类/结构/联合/泛型类型


求指导

该用户从未签到

发表于 2016-7-21 09:44:19 | 显示全部楼层
你好,你的问题解决了吗

该用户从未签到

发表于 2016-7-30 18:33:31 | 显示全部楼层
你给的源代码太少了,可能出现的问题,
1派生的时候,QObject应该放在前面。
2使用命名空间里面的函数或类的时候,应该在该函数或类前加上osgEarth::,并且应该在类前注明,useing osgEarth;
3记得写Q_OBJECT
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表