Gloox是一个开源的跨平台的C++实现的XMPP协议开发包,目前的版本为1.0测试版,不过由于是测试版,故在实际项目使用中不便于使用,故仍用0.9.9.5版本,这是一个比较稳定的版本,提供了很多的功能支持。
当从gloox的官网中下载0.9.9.5之后,解压。可以看见里面含有一个SRC的文件夹,里面就是gloox的所有的头文件和源文件了。
在编译gloox中,根据了解,可以编译成DLL动态库的方式,也可以编译成表态lib库的方式,不过我在使用过程中,发现DLL动态库好象不怎么稳定,且老是报一些错误,并且其他人在使用中也提到这个问题,所以一般没有考虑用DLL库。大多数的使用者都是使用的是lib库,这个lib库我编译出来的比较大,20多M,个人觉得太大了,用起来不方便,所以就直接通过加入源代码的方式进行开发了。
那么如何加入gloox源代码呢?我是这样做的。
新建一个项目如textgloox,然后在textgloox目录下新建一个目录,叫gloox,在该目录下加入解压gloox开发包之后的SRC文件夹下的所有文件,将这些头文件和源文件拷贝至textgloox下的gloox目录文件中,然后在你新建的项目中加入这些头文件和源文件就可以了。不过为了清晰所见,建议在你新建的项目中加入一个筛选器,名为gloox,然后将gloox中的所有头文件和源文件加入至该筛选器目录内。这样就可以将gloox与你的项目文件分隔开来,以便于管理。同时由于gloox库在运行时,本身需要一些库的支持,所以需要加入一些其他的库,这些库是: ws2_32.lib Secur32.lib Dnsapi.lib Crypt32.lib。当然可能有些库并不是必须的,我也只是根据网上别人的建议加入的,并没有一个一个排查,我的主要目的是使用这个库来做开发,而不是其它。
好了,当你经过上面的操作之后,就可以编译你的工程了,不过,此时会提示一个找不到config.h.win文件,这个很简单,可以在源文件中将其注释掉就可以了,这个是个编译选项的配置文件,具体的我没细看,不过我不是将其注释掉(我试过,注释掉也没问题),而是将这个文件(在你下载的gloox包中和SRC同一级目录下能找得到)拷贝至你的工程中的gloox目录中,然后在提示找不到这个文件的源文件中,将其路径改为gloox下就可以了,说白了,就是去掉里面的那个“../”即可。
经过上面的步骤之后,应该能够在你的工程中使用gloox进行开发了。我的示例环境如下,以方便前面的叙述。
在我这个示例项目中,gloox筛选器里面就是所有的gloox头文件和源文件,是从下载下来的gloox解压后的SCR目录下的所有文件拷贝过来的,同时还有一个config.h.win文件。
我的开发环境是vs2005,不过VC6上应该也能通过,因为是通过加入源文件的方式进行的。
后面我将继续对如何利用gloox进行IM的开发进行说明,今天就到这里。
发表于 @ 2008年11月24日 15:10:00 | 评论( 8 ) | 编辑| 举报| 收藏
旧一篇:对java日期的处理 | 新一篇:gloox连接至服务器端
查看最新精华文章 请访问博客首页相关文章
在Win2003+Tomcat+MySQL下运行JPetStore在Liferay Portal Professional里实现一个使用SOAP的portletDisplaytag1.1.1标签的使用net-snmp配置开发及注意事项Torque1.7.1 学习笔记1安装xml数据库Xindice1.1php 5.1.4 通过OCI8 以及instantclient访问远程oracle 9i数据库mysql-noinstall在windows下的安装方法qiuhong101 发表于2008年11月25日 15:14:09 IP:举报回复删除
还有一处设置需要注意,由于XMPP协议采用UTF-8编码,所以需要将你的项目属性中的字符集改为采用多使用多字节字符集,不然编译通不过。SmallBigCat 发表于2009年2月17日 11:13:57 IP:举报回复删除
你是测试环境的服务器是什么?SmallBigCat 发表于2009年2月17日 11:16:02 IP:举报回复删除
你服务器是什么环境?qiuhong101 发表于2009年2月21日 17:39:56 IP:举报回复删除
我的服务器用的是openfire3.4版本,在测试开发过程中,我通过另外安装了spark用来与我的gloox进行通讯。qiuhong101 发表于2009年2月27日 8:45:34 IP:举报回复删除
由于通过源码的方式进行开发,如果你是在MFC的环境下进行的,则需要处理一下预编译的问题,你可以在取消VC开发环境中的预编译头文件,或者在gloox源码中加入预编译头文件。isfrog 发表于2009年5月13日 14:24:35 IP:举报回复删除
为什么openfire开的端口不是5222,而是9090 ? 发表于2009年5月21日 0:03:29 IP:举报回复删除
9090是openfire的管理端口�?222是jabber的通信端口。不一样的�?d=0.039927629926256925 发表于2009年5月21日 0:04:50 IP:举报回复删除
请问一下博主!我在通过你说的源码方式来做的时候,编辑时经常出现各种各样的警告,这些是正常的吗�?d=0.7132934353829494发表评论表 情: 评论内容: 用 户 名:登录 注册 匿名评论 匿名用户验 证 码: 重新获得验证码
热门招聘职位【天际网】急聘Java应用架构师、高级Java工程师、网页设计师【上海酷娱】高薪急聘服务器主程、服务器程序【创新工场】技术类职位热招,立即加入属于你自己的公司【宽娱数码】诚聘C++应用软件工程师(多媒体/网络方向)、.net开发工程师【团800】No.1团购导航诚聘Ruby on Rails高手!【美国国家仪器】诚聘高级软件 工程师 信号处理软件部门经理【浙江驰海实业】诚聘项目经理,PHP,MYSQL,SEO,测试,运维,策划,设计等职【Infosys】诚聘:J2EE 项目主管/(资深)软件研发工程师/.Net资深软件研发工程师【北京高成长公司】高薪招聘.net各级程序员,欢迎应届生【银行项目】诚聘java前台/后台开发人员多名 及SAS数据分析员,欲试从速!【北京闻言科技】诚聘.net高级开发工程师、手机软件开发工程师(应届毕业生优先)【上海电子商务平台】重金诚聘.net,asp,javascript资深程序员【天际网】急聘Java应用架构师、高级Java工程师、网页设计师【上海酷娱】高薪急聘服务器主程、服务器程序【创新工场】技术类职位热招,立即加入属于你自己的公司【宽娱数码】诚聘C++应用软件工程师(多媒体/网络方向)、.net开发工程师【团800】No.1团购导航诚聘Ruby on Rails高手!【美国国家仪器】诚聘高级软件 工程师 信号处理软件部门经理【浙江驰海实业】诚聘项目经理,PHP,MYSQL,SEO,测试,运维,策划,设计等职【Infosys】诚聘:J2EE 项目主管/(资深)软件研发工程师/.Net资深软件研发工程师【北京高成长公司】高薪招聘.net各级程序员,欢迎应届生【银行项目】诚聘java前台/后台开发人员多名 及SAS数据分析员,欲试从速!【北京闻言科技】诚聘.net高级开发工程师、手机软件开发工程师(应届毕业生优先)【上海电子商务平台】重金诚聘.net,asp,javascript资深程序员 公司简介|招贤纳士|广告服务|银行汇款帐号|联系方式|版权声明|法律顾问|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
江苏乐知网络技术有限公司 提供商务支持
Email:[email protected]
Copyright © 1999-2010, CSDN.NET, All Rights Reserved
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qiuhong101/archive/2008/11/25/3362329.aspx