Hunter的大杂烩 技术学习笔记

August 28, 2008

在C++Builder中安装Indy 10.2.3详细步骤[zt]

Filed under: 技术话题 — hunter @ 11:27 pm

在C++Builder中安装Indy 10.2.3详细步骤

作者:Tuuzed(土仔)    
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
http://www.cppblog.com/tuuzed/archive/2008/06/17/53771.html

第一步:下载Indy 10源代码 。

Indy是开源的项目,是由SubVersion来管理版本信息。主页中有给出链接地址:http://www.indyproject.org:8080/svn,进去后一定要注意:不要一个一个文件下载,要通过SubVersion系统的打包程序来打包源代码,防止遗漏或弄错成了测试代码;并只用选择trunk这个目录即可,其他的目录是给调试或测试的人员使用的(主页http://www.indyproject.org/Sockets/Download/IndyviaSubversion.EN.aspx上有说明),见图:

indy1

 

首先在trunk目录前打勾,在toggle右边的下拉框中选择“Download as zip”,按Go!下载源代码,保证是最新的了(看右边目录的时间)

Hunter注:也可以到这个网址下载http://www.indyproject.org/Sockets/wizard/DownloadWizard.EN.aspx

第二步:编译Indy 10源代码。

废话一句,这一步首要的是确保你安装了BCB或DELPHI。解压下载来的ZIP文件,进入trunk\Lib,这里能看到有一些bat文件和目录。其中“Fullc6.bat”是我们需要运行的安装文件(C6表示BCB6版本,D6表示DELPHI6等等),以前网上说需要对Indy10的安装文件Fullc6.bat和某个.hpp文件进行改进(见ccrun网站上的Indy10源代码)。可能是这个版本比较新,我运行了一下,只是在最后会提示“系统找不到指定的文件。”,分析一下bat文件内容,是“copy *.rsp ..\..\C6”语句引起的错误,我找遍了整个trunk都没有.rsp文件,估计是以前的版本遗留下来的语句。不放心的话,可以注释掉bat中的这句语句,编译一样能通过,并且成功完成。不出意外,trunk下应该就有一个C6目录了,这就是我们需要的控件代码了。

第三步:卸载BCB6自带的Indy8控件。

刚开始我没有卸载原来的版本,安装后进行测试竟然出错了,后来上网搜索,发现要卸载原来的Indy8控件。卸载很简单:

1、进入BCB6 IDE-关闭所有项目“File-Close All”-Component-Install Packages,Remove掉有Indy字样的控件包,OK退出,再关闭BCB 6。

2、将BCB6安装目录下的文件删除或移走。有以下一些文件:\bin\dclindy60.bpl \lib\obj\dclindy.dcp;\lib\obj\dclindy.dcu;\lib\obj\id*.dcu ;\lib\obj\indy.dcp;\lib\obj\indy.dcu;\include\vcl\id*.* 。为了对INDY8做个备份,我写了一个Uninstall的bat文件,先找地方建立一个目录,运行它就行了,它会原样把目录建起来:
 

 1REM %1=BCB installtion dir
 2mkdir bin
 3mkdir lib
 4cd lib
 5mkdir obj
 6mkdir Debug
 7mkdir Release
 8cd ..\
 9mkdir include
10cd include
11mkdir vcl
12cd ..\
13MOVE %1\bin\dclindy60.bpl bin\    
14MOVE %1\lib\obj\dclindy.dcp lib\obj\      
15MOVE %1\lib\obj\dclindy.dcu lib\obj\      
16MOVE %1\lib\obj\id*.dcu lib\obj\      
17MOVE %1\lib\obj\indy.dcp lib\obj\     
18MOVE %1\lib\obj\indy.dcu lib\obj\   
19MOVE %1\lib\Debug\indy.* lib\Debug\
20MOVE %1\lib\Release\indy.* lib\Release\   
21MOVE %1\include\vcl\id*.* include\vcl\

3、将BCB6安装目录下CBuilder6\Source\indy改个名字吧,加个.old,表示这是老的Indy控件了。

第四步:安装Indy10到BCB6 IDE。

1、Copy 源代码trunk\C6目录到BCB6安装目录下,我还是放在Source下,把C6改名为Indy10。

2、运行BCB6-关闭所有项目“File-Close All”-Component-Install Packages-Add,把刚才改名的indy10目录下的dclIndyCore60.bpl和dclIndyProtocols60.bpl项目加进来。保存设置后,再选择Project-Options-Directories/Conditionals-include path和Library path中将indy10的目录添加进来,保存设置。

※以下为2008年08月03日增加※
3、拷贝IndyProtocols60.bpl,IndyProtocols60.bpi,IndyCore60.bpl,IndyCore60.bpi,IndySystem60.bpl,IndySystem60.bpi共6个文件到WINDOWS安装目录的system32下。
※增加结束※

第五步:安装结束和测试。

重启BCB看看,是不是有Indy10图标出来了?没有的话,可能是漏了哪一部了。再重做一遍看看。如果不出意外,在控件列表最后已经有最新的idny控件出来了,图标好看了很多(仅仅是给设计人员看的图标)。新建一个项目,然后拖一个控件进来,在控件上鼠标右键,可以看看版本号,build项目一下,如果没有error,那就证明安装成功了。

 

 

额外提示:

1、Indy是一个开源的项目,不可能保证你的项目它能完全兼容,时刻注意Indy项目的发展和更新代码是关键;

2、开源项目的文档比较少,主要还是靠网上高人的支持和其他一些开发人员的测试,主页上有文档下载URL: http://www.projectindy.org/downloads/IndyDocs_10.1.5.0_HtmlHelp.zip。看了一下,是indy10.1.5的,和10.2.3还是有些差别,而且有些方法和属性不详细,如果想要进一步的支持,好像可以买项目组出的技术书,具体看主页吧。

3、学习无止境,实践出真知。感谢网上所有给我提供参考和帮助的人。

 

======================================

from: http://blog.csdn.net/whchen/archive/2006/09/28/1299185.aspx

安装Indy 9 帮助文档

  1. 退出C++ Builder6。然后将Indy-9-0-Help-WinHelp.zip解压到C++Builder6安装目录下的 Help\下。

  2. 运行C++ Builder6。点击Help菜单,选“Customize…”,出现OpenHelp窗口。

  3. 在OpenHelp窗口的“Contents”、“Index”、“Link” 三页内,如果发现有带叉的项目,选中,在右键菜单中选“Remove Files”,删除这些已找不到链接的项。

  4. 切换到“Index”页内,点工具栏上“Add Files”按钮,或右键菜单内同名子菜单,然后在第1步的Help目录下,找到“INDY.HLP”,加入。

  5. 切换到“Link”页内,同样方法,将INDY.HLP加入“Link”页。

  6. 点击File菜单,选“Save Project”。OpenHelp开始编译,直至完成。

 下载Indy 9 帮助文档

其它几点注意

  1. 原有CB带的Indy例子,可能会在编译上有些问题。建议不要编译。

  2. 如果编译带Indy的工程时,出现找不到Indy.bpi或Indy.lib提示时,选“Cancel”,中断编译。点菜单“Project”,选 “Edit Options Source”,将打开XML格式的工程配置源文件。搜索所有 indy.bpl字样,并删除;然后在工程条件(设置工程条件:菜单Project->Options,或按Ctrl+Shift+F11),找到 “Packages”页,在下方的“Runtime packages”编辑框内,找到“indy”,删除之。然后查看该框内是否有“Indy60”,若无,添上。注意不同的运行时包是用分号(;)分隔,删除和添加时,不要少了分号,也不要多余出分号。确认后按Ctrl+F9编译。

  3. 如果经过上1步处理,仍无法编译。则保存工程,关闭C++ Builder6, 然后用Windows自带的记事本或UE等纯文本编辑器,打开工程源文件(扩展名为 .bpr)。搜索所有indy.bpl字样,并删除,然后保存文件,打开CB6重新编译。

=============================

Hunter: Indy 10.2.3 之后好像没有Indy60.lib了,可以直接从xml里面删掉这个库

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress