• Jitsi(SIP communicator)的环境部署和打包发布


    Jitsi(SIP communicator)的环境部署和打包发布 - nomousewch的专栏 - 博客频道 - CSDN.NET

    • 简介

             Jitsi是一个开源的,安全(ZRTP加密),高质量的SIP/XMPP视频通话、会议、聊天、桌面共享、文件传传输。可以安装在你喜欢的操作系统中并且支持多种IM网络。Jitsi是当最功能最完整的高级通信工具。Jitsi让你可以在同一个软件中连到Facebook、GoogleTalk、XMPP、Windows Live、Yahoo!、AIM和ICQ进行通信。Jitsi应该算的上是最好的Java开源XMPP客户端之一,而且它还同时支持SIP协议,能够进行语音和视频聊天,功能不可谓不强大,最近研究了Jitsi,打算在它的基础上进行二次开发,下面写一下自己这方面的经验。http://jitsi.org/是Jitsi的官网,我们可以从download中获取最新的源码。

    • 环境配置

            获取源码后,可以配置开发环境,我用的是eclipse,可以参照官网的教程来进行,在这就不多说了,见http://jitsi.org/index.php/Documentation/ConfigureEclipseNew,部署之后可以通过ant来运行,或者配置run configuration来运行都可以。

    • 打包发布

            这个是Jitsi最难的地方了,官网上对于这方面没有很详细的说明,我研究了很久才搞定。

            通用版本的打包比较容易,只需要安装一个izpack工具就可以了,见http://izpack.org/,配置好这个工具之后在jitsi主目录下进入resource/install文件夹,运行build.xml文件中的 build-installation-generic 生成一个jar包。需要注意的是这个通用版本你必须先安装jre才能够运行。

            在windows上面进行打包就比较烦了,需要一系列工具,包括:

    1. cygwin     用于在windows上模拟Linux环境,装好之后可以直接在命令行下执行linux命令比如ls,top等。
    2. mingw     主要使用它的gcc和make工具,用于将Jitsi的一些c语言程序直接编译为windows下的exe文件。
    3. 7zip          用于压缩安装程序
    4. wix            微软提供的工具,可以用来制作windows下的安装引导程序,例如做成msi文件。
    5. jre             提供内置的Java运行环境。

            我们一个一个进行安装,由于对c语言不熟悉,在安装cygwin和mingw的时候浪费了N多时间。

            首先是cygwin,在http://www.cygwin.com/上点击setup.exe进行安装,具体过程见http://apps.hi.baidu.com/share/detail/30458811,最好装在c:/cgywin目录,将此目录/bin加入环境配置变量path中。

            然后是mingw,在http://www.mingw.org/上用mingw-get-inst.exe进行安装,安装时只需要选择gcc就可以了,最好装在c:/mingw/x86目录,将此目录/bin加入环境配置变量path中,安装好了之后写一个c程序,用gcc试验一下,成功编译即可。

            7zip直接安装就行了,不需要做什么配置。

            wix我用的是3.5的版本,需要.net framework4.0支持,装完后将安装目录(不需要/bin了)加入环境配置变量path中。将jre所在的目录修改与ant-build-config.properties 中一致即可。

           下面在cygwin命令行中进入jitsi主目录下resource/install文件夹,运行ant build-installation-wix ,一路等待,打好OK,有可能会碰到几个问题,解决方案一起给出。

    • makefile的问题



         ant报错如下:

         [exec] process_begin: CreateProcess((null), C:/mingw/x86/bin/gcc.exe -dumpmachine, ...) failed.

         [exec] makefile:45: *** target pattern contains no `%'.  Stop.

         这个是gcc编译问题问题,打开jitsi主目录下src/native/windows/run文件夹下的Makefile,修改下面两行

          cygwin.target.dir := "$(TARGET_DIR)"

           修改为       

          cygwin.target.dir := $(TARGET_DIR)

           然后

          -rm.exe -f ../../../../resources/install/windows/config.h

          echo.exe -e '#define PRODUCTNAME "$(PRODUCTNAME)" #$(DEFINE_PACKAGECODE)' > $(cygwin.target.dir)/config.h

          修改为

          echo #define PRODUCTNAME "$(PRODUCTNAME)" > $(cygwin.target.dir)/config.h

          echo #$(DEFINE_PACKAGECODE) >> $(cygwin.target.dir)/config.h

          注意不要用任何空格,不然会出错。      

    • msi压缩成exe的问题

            ant报错如下:

         [exec] C:/mingw/bin/gcc.exe -O2 -Wall -Wreturn-type -DWINVER=0x0502 -D_WIN32_WINNT=0x0502 -I"C:UserswuchworkspaceJitsi/release/windows/tmp" -DBSPATCH_API_STATIC -DBZ2_API_STATIC -I. -I./include -I. -DLZMA_API_STATIC -I./include -I./api -I../run
    bspatch.c lasterror.c ../run/registry.c setup.c "C:UserswuchworkspaceJitsi/release/windows/tmp"/setup.res -mwindows -L./lib/ -L. -L./lib/ -L./.libs -o "C:UserswuchworkspaceJitsi/release/windows/tmp"/setup.exe -ladvapi32 -lbz2 -llzma -lole32 -lshell32

         [exec] setup.c:1770:1: warning: 'Setup_wstr2str' defined but not used

         [exec] c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lbz2

         [exec] c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -llzma

         [exec] collect2: ld returned 1 exit status

         [exec] make.exe: *** [C:UserswuchworkspaceJitsi/release/windows/tmp/setup.exe] Error 1

          这个问题是因为make的时候找不到相应的动态链接库,我们在安装mingw的时候少安装了libarchive库,命令行进去mingw安装目录(c:/mingw/bin),运行mingw-get install libarchive,会自动安装libarchive库,再次编译OK。

  • 相关阅读:
    ASP.NET Web Form(八)
    ASP.NET Web Form(八)
    软考知识点总结
    软考知识点总结
    c# 引用外部dll
    c# 引用外部dll
    ORA600 [Kcbz_check_objd_typ_1] Running a Job (Doc ID 785899.1)
    oracle创建em
    1918: 等值数目
    1917: 支配值数目
  • 原文地址:https://www.cnblogs.com/seven1979/p/4221952.html
Copyright © 2020-2023  润新知