`
monkeycn
  • 浏览: 43809 次
  • 性别: Icon_minigender_1
  • 来自: 福州
文章分类
社区版块
存档分类
最新评论

编译jabberd2的痛苦经历

阅读更多
编译jabberd2的痛苦经历:
(1)
昨天试着在linux上编译最新版本的jabber2有个udns版本太低的错误,找了很多资料没有解决,可能是代码有bug.
昨晚试着编译windows的jabber2,也遇到了好多问题,jabber2的开发人员真是不负责啊

1.依赖库编译(%*,*完成):
==============
%*libidn version 1.7 or higher, source build using win32/libidn.sln, provides: libidn.lib
编译时候出现const错误,解决方法:
dll的宏修改
#ifdef DLL_EXPORT
   #define DLL_API __declspec(dllexport)
#else
   #define DLL_API __declspec(dllimport)
#endif

%*libgsasl version 0.2.28 or higher, source build using win32/libgsasl.sln, provides: libgsasl.lib

%*OpenSSL source build, read win32 build instructions provided along with sources, provides: libeay32.lib ssleay32.lib

%*Expat XML Parser source build using expat.dsw (auto-converted), provides: libexpat.lib


%*udns source build, provides: udns.lib, since there are no VC project files provided along with sources, please use patch files provided at Downloads.
按照网络上的说法,下载的vc patch用windows下的patch工具打补丁运行老是出现断言,网友真是很不负责,只好上传到linux下,用linux的patch工具成功
命令:
patch -p0 < diff.patch

%*zlib source build, provides: zlib1.lib, convert & use VC project files at projects/visualc6, link to Win32_DLL_ASM_Release.
If you encounter MASM error: .\inffas32.asm(647) : error A2070: invalid instruction operands
Add a dword ptr type qualifier before [esp] as described here.


%*MySQL (auth & storage module) binary, linking to: libmysql.lib


%*SQLite (auth & storage module) source build, provides: sqlite3.lib. Since there are no libraries for VC except DLLs you shall make one using sqlite-amalgamation-3.x.zip from SQLite downloads.

%*TortoiseSVN SubWCRev command present in PATH to generate version.h and version.wxi. Comes with TortoiseSVN bin folder, added to PATH by TortoiseSVN installer.

WiX 3.0.4401.0 or newer for building MSI jabberd2 setup inside Visual Studio 2005 IDE

%*ActivePerl (or any Perl distribution) perl command present in PATH (optional for generation of default configuration XML files)


2.主模块编译:
==============

*jabberd2
*sm
*router
*s2s
c2s:
出现一个函数未定义
*authreg_anon
authreg_mysql  =>c2s,jabberd2:

mysql.h找不到
*authreg_ntlogon
*authreg_sqlite
*storage_sqlite

3.扩展模块编译:
==============
mod:
mod_active *
mod_amp*
mod_announce*
mod_deliver*
...
很多库提示C++方式的变量声明非法

   

(2)
昨晚用svn下载了752修订版本,2009 3月份的,后面所有代码在windows上顺利编译成功,不过开源库:libgsasl.dll有问题,换 了原版的就搞定了.
分享到:
评论
1 楼 huoppo 2010-08-09  
可以交流下吗?
我的QQ350215212 最近在研究 windows的jabber2 遇到几个下面问题:
error PRJ0002 : 错误的结果 255 (从“C:\WINDOWS\system32\cmd.exe”返回)
这个问题是这么回事啊?!

相关推荐

    xmpp服务器jabberd2

    **XMPP服务器Jabberd2详解** XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的即时通讯协议,广泛应用于聊天、协作和物联网设备之间的通信。Jabberd2是实现XMPP协议的一个开源服务器,它允许...

    cpp-Jabberd2是一个XMPP的服务器端软件

    开发者可以根据压缩包中的 "jabberd2-jabberd2-7522515" 文件来编译和配置 Jabberd2,以搭建自己的 XMPP 服务器。在配置过程中,需要了解和掌握如防火墙设置、域名解析、证书配置等相关知识。 总之,Jabberd2 是一...

    安装jabberd2服务端

    不是我写的,不过还不错。 使用配置参数安装jabberd2:

    即时聊天服务器 Jabberd.zip

    - **安装依赖**:在编译Jabberd2前,确保系统已安装必要的依赖库,如OpenSSL、libxml2等。 - **配置文件**:配置文件(通常是`servers.cfg`)用于定义服务器的行为,包括端口设置、模块加载、数据库连接等。 - **...

    Jabberd2 是一个 XMPP 的服务器端软件,是新一代的 Jabberd 项目

    Jabberd2 是一款基于XMPP(Extensible Messaging and Presence Protocol)协议的开源服务器端软件,它是Jabberd项目的升级版本,专为实现即时通讯(IM)和实时通信服务而设计。XMPP是一种开放标准,用于构建分散的、...

    开源XMPP服务器Jabberd2s.zip

    Jabberd2s 是根据开源XMPP服务器项目Jabberd2修改而来.基于Jabberd-2.3.2稳定版源码修改,主要添加以下功能: 1.通过直接修改配置文件动态配置XMPP服务器的离线与上线功能; 2.重新加载配置文件机制,通过SIGUSR1触发...

    jabberd2

    此软件为jabberd2服务器端,其中包含了常用组件.jcr组件很能弄到手啊!!!!!! &lt;br&gt;如果你遇到了安装的问题,可以联系我qq:47393039

    jabberd-2.1svn336-win32.msi

    2. 接着,运行 **jabberd-2.1svn336-win32.msi** 安装Jabberd服务器。安装过程中,按照提示设置服务器的基本配置,如端口、域名、管理员账号等。 3. 安装完成后,根据你的需求配置服务器,例如设置认证机制、启用SSL...

    jabberd14.6.1.1

    2. 编译源代码,这通常需要安装必要的依赖库和开发工具。 3. 配置 jabberd,包括设置服务器地址、端口、认证方式、日志记录等参数。 4. 安装服务器软件到系统路径,如 `/usr/local/sbin`。 5. 启动 jabberd 服务,并...

    jabberd-2.2.5.tar.bz2

    jabberd-2.2.5.tar.bz2

    jabberd2.0s8

    4. **库文件**:依赖的第三方库,jabberd可能依赖于如libxml2、OpenSSL等库来提供XML解析和加密等功能。 5. **脚本**:安装、编译和部署脚本,简化部署过程。 6. **示例**:示例配置或客户端代码,帮助用户快速上手...

    Jabberd 即时通信服务器C++源代码

    2. **路由模块**:这是Jabberd的核心功能之一,负责将消息路由到正确的目的地。通过查看router模块,我们可以学习如何处理XML流、解析JID(Jabber ID)并进行有效的数据传输。 3. **存储模块**:Jabberd允许用户...

    jabberd14

    jabberd14服务器端,包含所有常用的插件.

    ubuntu安装简单架设Jabber

    &lt;jabberd:cmdline flag="h"&gt;oaserver.org&lt;/jabberd:cmdline&gt; ``` 3. **重启Jabber服务**:执行`sudo systemctl restart jabber`命令重启Jabber服务,确保新配置生效。 #### 五、简单设置 1. **默认情况下**,...

    Jabberd14 LDAP authentication module-开源

    与大多数LDAP身份验证解决方案不同,此模块使用其模块API(JSM)集成到Jabberd14服务器中。 它由两部分组成-模块本身和XDB帮助器。 该模块支持jabberd的1.4和1.6版本。

    Jabberd14 automatic roster population-开源

    该模块可以指定要自动添加到联系人列表的用户。 模块的配置允许指定所有用户以及一些例外或某些JID。 它是为Jabberd14编写的(支持Jabberd的1.4和1.6)。

    [新]exodus代码

    Exodus是一款基于Delphi编程语言开发的即时通讯软件的源代码,它能够与Jabberd2服务器进行通信。在本文中,我们将深入探讨Exodus的源代码结构、Delphi编程语言、Jabber协议、Jabberd2服务器以及即时通讯的相关知识点...

    AnyQ代码

    虽然描述中没有明确指出AnyQ是否兼容jabberd2,但考虑到XMPP协议的兼容性,理论上AnyQ应该也能与jabberd2服务器进行通信。 即时通讯作为现代通信的重要组成部分,其技术涵盖了网络编程、数据加密、身份验证等多个...

    简单架设Jabber-局域网即时通讯服务器.doc

    选择适合你系统的Jabber服务器版本,例如jabberd2。创建一个系统用户,如jabber,用于运行服务器进程,并分配适当的权限。接着,下载并编译Jabber服务器软件,确保所有依赖项已安装,如libxml2、OpenSSL等。编译完成...

    软电话+即时通讯[part2]

    这是一个用java写的软电话客户端,还集成了jabberd2的客户端,能和MSN,GTALK等即时通讯系统互通...

Global site tag (gtag.js) - Google Analytics