最近总是收到的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.安装Qt 4.3.0 ;
3.安装boost 1.34.1;
4. 编译 wengophone
a.. ../wengoNG/libs/3rdparty/boost/CMakeLists.txt中修改为
../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命令行到wengophoneng的build目录下执行create_vcproj-VC71.bat即可得到你的debug版本的工程文件,修改一下相关的错误和相关的VC7的bug即可生成qtwengophone.exe了。
相关编译过程就介绍到此,有问题可以和我探讨。MSN:heeb_123@hotmail.com
时间和阅历的关系,难免让我的想法显得浅薄。在此只是想说一下:wengo是很好的学习工具。