1. 说明
对于CentOS6.4 x64系统下基于Ice3.4.2的服务组件可以使用vim方式或Eclipse IDE进行C++开发。以下着重说明vim方式的开发。
2. 环境
2.1 安装软件
- i. GCC 4.4.4以上(系统默认安装)
- ii. JDK1.6——jdk-6u45-linux-x64-rpm.bin
- iii. Ice3.4.2——Ice-3.4.2-rhel6-x86_64-rpm.tar.gz
2.2 JDK安装配置步骤
- i. 命令行安装jdk-6u45-linux-x64-rpm.bin:
$ ./ jdk-6u45-linux-x64-rpm.bin - ii. 配置环境变量,编辑文件/etc/profile,文件末行换行添加:
export JAVA_HOME=/usr/java/jdk1.6.0_45
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2.3 Ice安装配置步骤
- i. 解压缩Ice-3.4.2-rhel6-x86_64-rpm.tar.gz;
$ tar –zxvf Ice-3.4.2-rhel6-x86_64-rpm.tar.gz - ii. 到解压缩后的文件路径下,启动终端命令方式安装解压后的rpm包:
$ rpm –ivh *.rpm
iii. 配置环境变量,编辑文件/etc/profile,文件末行换行添加:
export CLASSPATH=/usr/share/java/Ice.jar:/usr/share/java/Freeze.jar:/usr/share/java/db-4.8.30.jar:$CLASSPATH
export ICE_HOME=/usr
3. Linux-C++ Demo
3.1 IceGrid Server
a) 复制Ice-3.4.2-demos.tar.tar到CentOS,解压为Ice-3.4.2-demos,进入路径./demo/IceGrid/simple;
b) 利用命令行编译生成server可执行文件(需包含相应Ice头文件路径和链接所需库——Ice、IceUtil、IceGrid、Glacier2):
Server生成:
$ c++ -I. -I$ICE_HOME/include -c Hello.cpp HelloI.cpp Server.cpp
$ c++ -o server Hello.o HelloI.o Server.o -L$ICE_HOME/lib -lIce -lIceUtil -lIceGrid -lGlacier2
c) 参考README,启动注册机与节点:
$ icegridnode --Ice.Config=config.grid
d) 部署server服务:
$ icegridadmin --Ice.Config=config.grid -e “application add ‘application.xml’”
3.2 IceGrid Client
a) 利用命令行编译生成client可执行文件(需包含相应Ice头文件路径和链接所需库——Ice、IceUtil、IceGrid、Glacier2):
Client生成:
$ c++ -I. -I$ICE_HOME/include -c Hello.cpp Client.cpp
$ c++ -o client Hello.o Client.o -L$ICE_HOME/lib -lIce -lIceUtil -lIceGrid -lGlacier2
b) 启动client:
$ ./client
Note:以上Linux下C++开发也可以采用带CDT插件的Eclipse,在通过Slice文件生成Ice框架代码后,新建工程,拷贝生成的头文件、源文件到工程中,配置工程的Properties:
- 添加lib:Ice 、IceUtil 、IceGrid 、Glacier2;
- 添加lib search path为/usr/lib。