编译ICE

Ice. 3.2.1 的编译为例作简单步骤介绍。Linux较为简单,Window上略麻烦,详见源码包中的编译说明。
目前
Ice只支持动态库方式,不能编译成静态库。

  一.win32平台

1. Ice源码安装或解压到指定目录
这里假定为
D:/Ice- 3.2.1 ,ICE_HOME=D:/Ice-3.2.1。
  ICE
Win32下编译不使用工程文件,采用命令行方式。$(ICE_HOME)/Makefile.maknmake使用的编译入口文件,$(ICE_HOME)/config/Make.rules.mak是编译选项设置文件,被$(ICE_HOME)/Makefile.make引用。

 
2
.选项设定
1) 设定编译模块
Makefile.mak中的SUBDIRS宏决定编译的所有模块,默认值如下:
SUBDIRS = config src include test demo slice doc
如果不需要编译其中的模块,可在宏中将其对应值去除
 
2)
设定源码路径
$(ICE_HOME)/config/Make.rules.mak文件中的宏prefix指定源码路径,默认值
prefix = C:/Ice-$(VERSION)
修改为
prefix = D:/Ice-$(VERSION)

3)设定编译器
$(ICE_HOME)/config/Make.rules.mak文件中的CPP_COMPILER宏指定编译器。
根据本机编译环境指定对应编译器,可选的有
VC60, VC71, VC80, VC80_EXPRESS, BCC2006等。
这里使用
VS.NET2005
CPP_COMPILER = VC80

3)设定第三方源码目录
所需的第三方源码包有

- STLport 4.6.2 or later (only for Visual C++ 6.0)
- Berkeley DB 4.5.20
- expat 2.0
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0

  $(ICE_HOME)/config/Make.rules.mak文件中的THIRDPARTY_HOME宏指定第三方安装目录,其默认值为:
THIRDPARTY_HOME = C:/Ice-$(VERSION)-ThirdParty-$(TPH_EXT)
实际上等价于
THIRDPARTY_HOME = C:/Ice-$(VERSION)-ThirdParty-$( CPP_COMPILER)
如果使用VC80,则默认安装目录为 D:/Ice- 3.2.1 -ThirdParty-VC80
 
可将THIRDPARTY_HOME指定为本机的第三方目录,但要注意所有的第三方包都要置于同一目录下(STLPort除外)

3. 第三方库安装
将对应的第三方包解压到$(THIRDPARTY_HOME)
要注意所有的第三方包都要置于同一目录下(STLPort除外)

4. 编译
VS.2005的命令行下,进入ICE_HOME目录,执行nmake /f Makefile.mak
编译完成的库在$(ICE_HOME)/lib
编译完成的工具在
$(ICE_HOME)/bin

  清理使用:
nmake /f Makefile.mak clean

二.Xinux平台

Linux平台下的编译要容易许多,而且ICE使用的第三方库多半都已经预安装。
其对应使用的
Makefile文件是:
$(ICE_HOME)/Makefile$(ICE_HOME)/config/Make.rules,作用和Win32平台类似。

要编译模块可能需要自定义外,均可使用默认配置
直接在安装目录下执行
make即可。
编译完成的库在
$(ICE_HOME)/lib
编译完成的工具在
$(ICE_HOME)/bin注意用make install进行安装。

  三.附录:

所需第三方库:
- STLport 4.6.2 or later (only for Visual C++ 6.0)
- Berkeley DB 4.5.20
- expat 2.0
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐