vs中调用mingw编译的linphone

原创 2012年03月22日 16:42:12
由于linphone不能直接用vs编译, 而用mingw编译很方便,所以我们可以通过vs调用mingw编译好的库。这种方式要解决的是从dll,创建vs需要的lib文件。
1.mingw编译linphone-3.5.2
参考http://blog.csdn.net/gavinr/article/details/7337606


2.创建vs需要的lib文件
创建def文件,这要用一个第三方的工具pexports,可以在mingw中使用命令mingw-get install pexports进行安装。
$ pexports liblinphone-4.dll > linphone.def
$ pexports libmediastreamer-1.dll > mediastreamer.def


创建lib文件,用vs自带的lib程序即可。打开vs命令行,执行下面的操作
E:\temp>lib /machine:x86 /def:linphone.def
Microsoft (R) Library Manager Version 9.00.21022.08
Copyright (C) Microsoft Corporation.  All rights reserved.


   Creating library linphone.lib and object linphone.exp


同样的方式生成mediastream.lib


3.vs测试工程
vs2008建立一个控制台工程linphone-3.5.2,测试代码直接使用了以前写的测试代码(用vs编译会有一个小错误,将变量定义语句放到函数开始处即可):http://blog.csdn.net/gavinr/article/details/7344916


添加依赖库mediastream.lib linphone.lib


添加头文件目录,D:\MinGW\msys\1.0\local\include


这时编译应该能成功生成可执行程序linphone-3.5.2.exe了


4.测试
由于依赖了很多其它的库,懒得到mingw中去找了,所以测试时直接在mingw命令行中进行。
呼叫远程sip客户端
$ linphone-3.5.2 sip:192.168.9.81
ortp-error-Fail to create class enumerator.
ortp-warning-./share/sounds/linphone/rings/oldphone.wav does not exist
call state: Starting outgoing call
Unhandled notification 2
Call to sip:192.168.9.81 is in progress...ortp-warning-cannot set noise gate mod
e to [0] because no volume send
call state: Outgoing call in progress
Unhandled notification 3
ortp-warning-Failed to open ./share/sounds/linphone/ringback.wav
call state: Remote ringing

VS2008下编译linphone3.5.2

断断续续花了一周的时间,总算把linphone在windows上编译成功了,在网上找了很久都没找到一个完整的文档,特意将编译过程记录下来,有需要的可以参考一下,大家共同学习。 1、准备工作:首先从li...
  • lovey_carolin
  • lovey_carolin
  • 2015年01月08日 11:45
  • 2889

vs2015使用MinGW编译的动态库

工作过程中经常会遇到使用其他开源项目的情况,有些开源项目有vs工程,比如opus,可以直接编译出vs可识别的动态库或静态库,但有些开源项目则没有,此时想要做的就是利用该源代码编译一个或多个库来使用。 ...
  • xy_kok
  • xy_kok
  • 2017年11月04日 13:48
  • 334

解决mingw动态库在vs下调用 release版本中会出现的奇怪问题

REF | NOREF /OPT:REF 清除从未引用的函数和/或数据,而 /OPT:NOREF 保留从未引用的函数和/或数据。 默认情况下,LINK 移除未引用的封装函数。 如果对象已经用 /...
  • langsim
  • langsim
  • 2015年01月23日 16:16
  • 955

如何在vc中使用mingw编译出来的动态库和静态库

mingw编译出来的静态库后缀名为.a,编译出来的动态库的导入库后缀名为.dll.a 因为在windows下用的.lib库可能是静态库也可能是动态库的导入库。而mingw编译出来的动态库的导入库可以直...
  • qiuchangyong
  • qiuchangyong
  • 2014年02月12日 16:06
  • 7758

vs2013+linphone3.7.0编译(win7系统)

windows linphone 3.7.0 编译运行
  • sunxianliang1
  • sunxianliang1
  • 2016年10月27日 15:01
  • 1555

VC 调用 MinGW 生成的dll

首先,如何dll 中导出了C++的类,那么就不要折腾了。不同的编译器编译出来的C++代码是不保证通用的。如果dll中只是一些C 函数,那么是可以互相调用的。   MinGW 生成dll时即使生成了 ....
  • liyuanbhu
  • liyuanbhu
  • 2015年03月26日 15:32
  • 3072

MinGW与MSVS生成dll库的交叉链接

MinGW生成的.dll文件可以直接用MinGW链接,就像链接一般静态库一样。但是若希望在MSVC中使用,则要么需要生成.lib信息头文件,要么在源码中调用windows API的GetProcAdd...
  • HopefulLight
  • HopefulLight
  • 2016年02月23日 23:58
  • 1435

关于vs2008编译linphone-3.5.2

网上已经有人用vs2008编译好了linphone3.3.2, 工程地址http://code.google.com/p/linphone-vs2008/,相关依赖库都配置好了,下载直接编译即可。我试...
  • gavinr
  • gavinr
  • 2012年03月09日 10:51
  • 7482

MSVC vs. MinGW 之dll玩转攻略手记

MinGW: c -> o gcc -c a.c c -> exe gcc a.c libs.o -o a.exe (从主程序a.c,附加libs,生成a.exe) o -> exe gcc a...
  • byxdaz
  • byxdaz
  • 2014年08月16日 19:17
  • 5751

Linphone Destkop 3.10 Windows编译

因为工作关系,最近需要弄一些sip客户端,linphone比较容易找到,而且更新比较快,通讯效果和稳定性还可以。Android版本已经便宜成功,需要尝试windows版本,windows版本需要依赖的...
  • liccon
  • liccon
  • 2017年01月27日 11:58
  • 2102
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vs中调用mingw编译的linphone
举报原因:
原因补充:

(最多只允许输入30个字)