浅谈OpenWengo

来源:互联网 发布:mac装双系统多少钱 编辑:程序博客网 时间:2024/06/12 00:14

        最近总是收到的wengophone-devel-request中的关于用vs2005编译wengo的问题,不由想起前一段时间编译wengo的过程,也想就此发表一下自己的看法。

        首先wengo是什么?他是一个一个基于Sip的终端,包含了很多的概念,从整体功能和表现形式来讲都比较完备,看的出来是精心设计,这也是我们应该关注的,也是可以给我们带来思考的。

        wengo的整体功能:

        比较完备,现在有的sip消息都支持,也支持与其他IM软件互通,在语音处理上也不错,界面设计上也形成自己的风格,在跨平台处理上也作了很多工作,采用了Boost库,采用QT做界面等等,这些都是我们可以借鉴的。

        wengo的表现形式:

        wengo有多种终端形式,linux,windows的传统客户端终端形式,有基于RIA技术和理念的Flash形式,后者是我们应该加以注意的。RIA即Rich internet application,富展现技术,Flash仅仅是一种形式,在RIA领域还有微软的silverlight,Sun的JavaFX(在智能设备中有潜力),还有其他不被看好的。拿Flash来介绍一下,用户通过flash即可进行语音通信,视频,IM,协同办公,演讲,讨论等等,可以很好的实现各种应用,提供个性化更强,功能更多更具体的服务,而且终端维护起来很方便,用户只需要有浏览器就ok。而且这种技术在穿越NAT和防火墙方面有着很强的优势。总之有很多好处和我们开发时遇到的难点在RIA中可以轻松实现的解决的现象可以调动大家的兴趣关注一下。

         以上我觉得是我们研究wengo应该关注,不过很多人更加关注wengo的代码。下面我来简单讲一下wengo各部分的代码,sip用的是osip2和exosip,rtp用的是ortp,语音处理用的是speex库,视频处理支持h.26X,但不支持h264,JM之类的H264开源没有,界面用的QT库,这对我们大部分在windows下开发的客户端的人员来说是么有必要的,还有Boost c++库,这对于windows开发客户端的人员来说也没有太大的用处。stun,等等一系列的基本都可以在网上开源找到,wengo做的工作是上层控制和集成,至于使用的这些开源组件版本的更新wengo基本不勤快。所以我觉得那些花了半天力气编译wengo想自己用的人,也就是想省事的人基本没多大意义。

         下面再简单介绍一下wengo的编译过程,呵呵可能很多人很注意这个问题,可我要说的是你们可能有点失望,因为我不会说的详细,我之所以呈现部分编译过程是想告诉你:wengo是很好的学习对象,但不是你拿来就用的东西,也不该那么做。

         过程如下:

         1.安装vc.net2003企业版;

      2.安装Qt4.3.0

    3.安装boost1.34.1;

      4.编译wengophone

         a.. ../wengoNG/libs/3rdparty/boost/CMakeLists.txt中修改为 

ow_copy_file(${BOOST_LIBRARY_DIRS}/boost_thread${BOOST_LIB_SUFFIXES}-1_34_1.dll ${BUILD_DIR})
b.

../wengoNG/libs/3rdparty/qt4/CMakeLists.txt中修改为

...............................................

              #${BUILD_DIR}/imageformats/qmngd4.dll first then it creates imageformats directory

              ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qmngd4.dll ${BUILD_DIR}/imageformats/qmngd4.dll)

              ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qjpegd4.dll ${BUILD_DIR}/imageformats)

              ow_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/binary-lib/msvc/imageformats/qgifd4.dll ${BUILD_DIR}/imageformats)

...................................................

...................................................

              #${BUILD_DIR}/imageformats/qmng4.dll first then it creates imageformats directory

              ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qmng4.dll ${BUILD_DIR}/imageformats/qmng4.dll)

              ow_copy_file(${QT_PLUGINS_DIR}/imageformats/qjpeg4.dll ${BUILD_DIR}/imageformats)

              ow_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/binary-lib/msvc/imageformats/qgif4.dll ${BUILD_DIR}/imageformats)

c.../wengoNG/libs/3rdparty/qt4/binary-lib/msvc/imageformats中的qgif1.dll修改为qgif4.dll,qgifd1.dll修改为qgifd4.dll

d.

.. /wengoNG/owbuild/owbuild/ OWCreateBinary.cmake

# Shared library下面的修改一下各种编译选项的生成后事件,

e.在所有的dll工程里面添加一下相应的编译选项。

f.在vc7命令行到wengophonengbuild目录下执行create_vcproj-VC71.bat即可得到你的debug版本的工程文件,修改一下相关的错误和相关的VC7的bug即可生成qtwengophone.exe了。

相关编译过程就介绍到此,有问题可以和我探讨。MSN:heeb_123@hotmail.com

时间和阅历的关系,难免让我的想法显得浅薄。在此只是想说一下:wengo是很好的学习工具。

 

原创粉丝点击