Qt -- 编译Audiorecord 报 QMetaObject 错误
2014-05-27 00:38
344 查看
想要使用Qt做音频的采集及回放,搜来搜去都是Qt的android。Qt既然是跨平台的,在windows上也应没问题,但是Qt的版本跨度大的话也导致了以前的一些API在新的版本上不能使用,新的Qt工程插件在VS2010的不能正确识别Qt工程文件,导致一些编译错误。正好被自己碰到了。
不信,你试试Nokia官网的 AudioRecord工程,下面把编译错误都解决下:
1、“setFrequency”: 不是“QAudioFormat”的成员
把 m_format.setFrequency(8000); 改成 m_format.setSampleRate(8000);
2、“setChannels”: 不是“QAudioFormat”的成员
把 m_formatOUT.setChannels(1); 改成 m_formatOUT.setChannelCount(1);
3、无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall AudioEngine::metaObject(void)const
" (?
metaObject@AudioEngine@@UBEPBUQMetaObject@@XZ)
无法解析的外部符号 "public: virtual void * __thiscall AudioEngine::qt_metacast(char const *)" (?qt_metacast@AudioEngine@@UAEPAXPBD@Z)
无法解析的外部符号 "public: virtual int __thiscall AudioEngine::qt_metacall(enum QMetaObject::Call,int,void * *)" (?
......................................................................
qt_metacall@AudioEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
使用Qt Create 打开pro工程文件,生成moc_audioengine.cpp 和 moc_mainwindow.cpp ,添加到VS工程中,编译就没问题
了
4、头文件编译包含错误,在安装Qt的include目录下,找到相对路径,做相应更改即可。
至此,Qt能够使用Android的AudioRecord工程了,试试音频录音及回放吧。
不信,你试试Nokia官网的 AudioRecord工程,下面把编译错误都解决下:
1、“setFrequency”: 不是“QAudioFormat”的成员
把 m_format.setFrequency(8000); 改成 m_format.setSampleRate(8000);
2、“setChannels”: 不是“QAudioFormat”的成员
把 m_formatOUT.setChannels(1); 改成 m_formatOUT.setChannelCount(1);
3、无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall AudioEngine::metaObject(void)const
" (?
metaObject@AudioEngine@@UBEPBUQMetaObject@@XZ)
无法解析的外部符号 "public: virtual void * __thiscall AudioEngine::qt_metacast(char const *)" (?qt_metacast@AudioEngine@@UAEPAXPBD@Z)
无法解析的外部符号 "public: virtual int __thiscall AudioEngine::qt_metacall(enum QMetaObject::Call,int,void * *)" (?
......................................................................
qt_metacall@AudioEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
使用Qt Create 打开pro工程文件,生成moc_audioengine.cpp 和 moc_mainwindow.cpp ,添加到VS工程中,编译就没问题
了
4、头文件编译包含错误,在安装Qt的include目录下,找到相对路径,做相应更改即可。
至此,Qt能够使用Android的AudioRecord工程了,试试音频录音及回放吧。
相关文章推荐
- [Qt4]VS2010编译提示error LNK2001: unresolved external symbol "public: virtual struct QMetaObject等错误解决方案
- QT中添加Q_OBJECT时编译提示obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const错误解决方法
- VS2015 + QT 编译出现public: virtual struct QMetaObject const * __thiscall 错误
- QT + VS2005 编译出现 error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall Widget::metaObject 错误
- Qt 编译错误: QMetaObject::connectSlotsByName: No matching signal for xxx
- QT:关于qt工程在编译时提示undefined reference tp 'XXX::staticMetaObject'
- Qt 编译错误 提示TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension(0x27a9278) is not
- Qt - 错误总结 - 在自定义类头文件中添加Q_OBJECT 编译时报错(undefined reference to ‘vtable for xxThread)
- 【qt错误】unresolved external symbol "public: virtual struct QMetaObject
- 继承QGraphicsItem 编译错误:error: no member named 'staticMetaObject' in 'QGraphicsItem'; did you mean sim
- 关于QT编译中出现cannot find -lgobject-2.0的错误
- 在Windows 7下配置VS2008 Qt 插件,编译错误处理【转】
- QT编译错误:collect2: ld returned 1 exit status
- QT的 Meta-Object系统
- VS2010在QT中用moc编译带有Q_OBJECT时所需设置
- 继承QTreeWidgetItem发生error: 'staticMetaObject' is not a member of 'QTreeWidgetItem' 错误
- arm-linux-gcc 4.1.1 编译 QT 4.7 for ARM 中的错误
- Windows&Eclipse&Qt2010.02编译错误的处理
- Qt安装后编译程序的”no valid qt version set”错误
- Qt在VC6.0下编译出现链接错误