如何在我的应用程序中使用voice_engine.lib? [英] how to use voice_engine.lib in my application?

查看:147
本文介绍了如何在我的应用程序中使用voice_engine.lib?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好:

我在vs2008上构建了webrtc,并获得了voice_engine.lib。但我怎样才能在我的应用程序中使用它?我试过简单的#pragma comment(lib, voice_engine.lib),但链接时出现错误(未解析的外部符号),例如:

voice_engine.lib(dtmf_inband_queue.obj):错误LNK2001:未解析的外部符号public:static void __cdecl webrtc :: Trace :: Add(enum webrtc :: TraceLevel,enum webrtc :: TraceModule,int,char const *,...)(?添加@ Trace @ webrtc @@ SAXW4TraceLevel @ 2 @ W4TraceModule @ 2 @ HPBDZZ)



我只是感到困惑,我有#pragma lib,有我吗?但是错误就发生了。



感谢任何回复!

Hi,everyone:
I have build webrtc on vs2008,and got the voice_engine.lib .But how can i use it in my application?I have tried to simply #pragma comment(lib,"voice_engine.lib"),but errors occur when linking (unresolved external symbols),such as:
voice_engine.lib(dtmf_inband_queue.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl webrtc::Trace::Add(enum webrtc::TraceLevel,enum webrtc::TraceModule,int,char const *,...)" (?Add@Trace@webrtc@@SAXW4TraceLevel@2@W4TraceModule@2@HPBDZZ)

I just get confused ,i have #pragma the lib ,have i?But error just occurs.

appreciation to any reply!

推荐答案

似乎我已经获得了解决方案。

voice_engine.lib不是单独构建的,它依赖于它在许多其他lib上你也应该#pragma其他的libs,如果你想使用voice_engine.lib.Here是我的第一个简单演示,只是为了播放一个wav文件。
Seems that i have got the resolution.
voice_engine.lib was not built alone,it depended on many other libs.You should also #pragma other libs,if you want to use voice_engine.lib.Here is my first simple demo ,just to play a wav file.
//you also to include this debug.pb.h
#include "m:\WebRTC\trunk\build\Debug\obj\global_intermediate\protoc_out\webrtc\audio_processing\debug.pb.h"
#include "webrtc/voice_engine/include/voe_base.h"
#include "webrtc/voice_engine/include/voe_file.h"

#include <conio.h>

#pragma comment(lib,"voice_engine.lib")
#pragma comment(lib,"system_wrappers.lib")
#pragma comment(lib,"audio_processing.lib")
#pragma comment(lib,"audio_device.lib")
#pragma comment(lib,"common_audio.lib")
#pragma comment(lib,"webrtc_utility.lib")//ProcessThread
#pragma comment(lib,"audio_conference_mixer.lib")
#pragma comment(lib,"audio_coding_module.lib")
#pragma comment(lib,"rtp_rtcp.lib")
#pragma comment(lib,"media_file.lib")
#pragma comment(lib,"audio_processing_sse2.lib")
#pragma comment(lib,"audioproc_debug_proto.lib")
#pragma comment(lib,"audioproc_unittest_proto.lib")
#pragma comment(lib,"webrtc_i420.lib")
#pragma comment(lib,"webrtc_opus.lib")
#pragma comment(lib,"opus.lib")
#pragma comment(lib,"common_audio.lib")
#pragma comment(lib,"common_audio_sse2.lib")
#pragma comment(lib,"webrtc_video_coding.lib")
#pragma comment(lib,"common_video.lib")
#pragma comment(lib,"NetEq.lib")
#pragma comment(lib,"CNG.lib")
#pragma comment(lib,"PCM16B.lib")
#pragma comment(lib,"G722.lib")
#pragma comment(lib,"G711.lib")
#pragma comment(lib,"iLBC.lib")
#pragma comment(lib,"audio_coding_module.lib")
#pragma comment(lib,"iSAC.lib")
#pragma comment(lib,"paced_sender.lib")
#pragma comment(lib,"webrtc_vp8.lib")
#pragma comment(lib,"test_framework.lib")
#pragma comment(lib,"video_coding_utility.lib")
#pragma comment(lib,"libyuv.lib")
#pragma comment(lib,"libvpx.lib")
#pragma comment(lib,"libjpeg.lib")
#pragma comment(lib,"protobuf_lite.lib")
#pragma comment(lib,"libvpx_asm_offsets_vp8.lib")
#pragma comment(lib,"libvpx_intrinsics_mmx.lib")
#pragma comment(lib,"libvpx_intrinsics_sse2.lib")
#pragma comment(lib,"libvpx_intrinsics_ssse3.lib")

using namespace webrtc;

VoiceEngine* pVoeEngine;
VoEFile		*pVoeFile;
VoEBase* pVoeBase ;

int main(int argc,char** argv)
{
	pVoeEngine = VoiceEngine::Create();               
	pVoeBase = VoEBase::GetInterface(pVoeEngine);  
	pVoeFile =VoEFile::GetInterface(pVoeEngine);
	pVoeBase->Init();       
	int channel=pVoeBase->CreateChannel();  
	pVoeBase->StartPlayout(channel);
	pVoeFile->StartPlayingFileLocally(channel,"G:\\1.wav");
	getchar();
}</conio.h>


这篇关于如何在我的应用程序中使用voice_engine.lib?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆