2 fanlab1234 fanlab1234 于 2016.03.09 12:03 提问

Qt 交叉编译出现moc文件报错

moc_QtMqttclient.cpp:52: error: no 'void QtMqttclient::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)' member function declared in class 'QtMqttclient'
moc_QtMqttclient.cpp:68: error: 'const QMetaObjectExtraData QtMqttclient::staticMetaObjectExtraData' is not a static member of 'class QtMqttclient'
moc_QtMqttclient.cpp:70: error: argument of type 'void (QtMqttclient::)(QObject*, QMetaObject::Call, int, void**)' does not match 'int (*)(QMetaObject::Call, int, void**)'
moc_QtMqttclient.cpp:74: error: 'staticMetaObjectExtraData' was not declared in this scope
在linux上编译没有报错,但是在进行交叉编译的时候却报错了,moc文件不是自动生成的吗,为啥会出现这样的问题啊

1个回答

visoncomputer
visoncomputer   2016.03.09 20:55

可能是声明的问题吧,这种错误没遇到过。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Qt中moc问题(qt moc 处理 cpp)
我用的是QT Designer,一般只有用到信号signals和槽slots时才会用到MOC,因为采用信号signals和槽slots是QT的特性,而C++没有,所以采用了MOC(元对象编译器)把信号signals和槽slots部分编译成C++语言. 用信号signals和槽slots需注意的基本问题是: 1)在类class声明中必须加入Q_OBJECT; 2)在CPP文件中要把信号sign
Qt自动生成moc文件
命令行生成moc文件的方式: cd C:/Qt/4.7.1/bin moc  .h文件群路径 -o 要生成的moc文件的全路径; 例如: VS中不是用addin创建的项目,自动生成moc文件的设置: 在VS的解决方案管理器里面,右键需要生成moc文件的头文件-打开属性窗口; 常规-项类型,选择自定义生成工具; 关闭属性窗口重新打开,就出现了自定义生成工具选项;
Qt(2):MOC文件解析
在Qt下,从QObject派生的类都会生成moc_文件。 1. 比如现在有2个文件,qmyobject.h和qmyobject.cpp,它里面有一个类QMyObject,记为版本A class QMyObject : public QObject { Q_OBJECT public: QMyObject(QObject *parent); ~QMyObject()
qt中moc的作用
Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉。完成这一操作的就是 moc。 moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编译器编译之前,先要使用 moc 分析 C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了 Q_OBJEC
msbuild编译qt界面文件出现Moc'ing文件,系统找不到指定路径问题
这几天link引入了qt,开发都没问题,但是jenkins上用msbuild总是编译失败,原因是 “Moc’ing xxx文件,系统找不到指定路径” 在jenkins服务器上直接用msbuild也是失败,但是在jenkins服务器上用vs打开项目编译过一次就好了。但是jenkins每次的编译时最好都清理一遍。所以这个问题还是没彻底解决。今天花了些时间研究了一下这个问题,最后发现是少上传了一个文件
Qt学习(如何交叉编译一个Qt程序使其能在板子上运行)
如何交叉编译一个Qt程序使其能在板子上运行      首先安装交叉编译器arm-linux-gcc3.4.6,先将其压缩包放到一个目录下,然后对其进行解压,举了解压命令为:tar xjvf arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2 -C /u
VS下QT工程不能生成moc文件的解决方法
选择要moc的类的头文件,鼠标右键,选择property->Item Type:将此项改为Custom Build Tool, 然后看到左边会变成Custom Build Tool: 选择Custom Build Tool->General:类比其他头文件添加指令和输出路径: [cpp] view plain copy  
VS2013+QT5.7每次运行时都会重新Moc'ing 文件的解决办法
之前的编写的一个程序明明是编译通过了,但是点击【运行调试】的时候,任然会出现以下信息:1> Moc'ing QtGuiUserManage.h... 1> moc_QtGuiUserManage.cpp只要是运行就会出现这样的问题,每次都会出现,一点例外都没有。 问题原因:这是由于项目设置的Qt的Moc目录和这个头文件设置的Moc头文件目录不一致造成的; 项目中的moc目录如下: 当前
VS 下Qt工程不能生成moc文件的解决方法
选择要moc的类的头文件,鼠标右键,选择property->Item Type:将此项改为Custom Build Tool, 然后看到左边会变成Custom Build Tool: 选择Custom Build Tool->General:类比其他头文件添加指令和输出路径。
VS+Qt5生成moc文件
1.选择没有生成moc文件的头文件,右键,点击属性 2.在配置属性中选择常规,将项类型修改为“自定义生成工具” 3.修改自定义生成工具--常规中的“命令行”和“输出”两项 命令行:"$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp