windows 下编译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有问题,换 了原版的就搞定了.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值