windows下vc6编译Ice3.3.1
1 安装ice的第3方安装包,安装到默认路径
2 修改Ice-3.3.1\cpp\config目录下Make.rules.mak中的配置: CPP_COMPILER= VC60,如果是其它版本编译器,则对应修改。
3 运行cmd进入命令行窗口
3 在命令行窗口cd到vc的安装目录bin下例如:C:\Program Files\Microsoft Visual Studio\VC98\Bin
运行VCVARS32.BAT设置编译器选项
4 在命令行窗口cd到Ice-3.3.1\cpp目录
5 运行下面的命令
set INCLUDE=D:\study\avocado\c++\thirdparty\Microsoft SDK\include;C:\Ice-3.3.1-ThirdParty-VC60\include;C:\Ice-3.3.1-ThirdParty-VC60\include\stlport;%INCLUDE%;
set LIB=D:\study\avocado\c++\thirdparty\Microsoft SDK\Lib;%LIB%;
6 运行 nmake /f Makefile.mak
注意3跟5的顺序不能搞反。
有时候为了方便调试,需要使用vc6.0直接搭建ice的源码工程,现把我之前搭建ice工程的步骤记录下来,方便以后直接拿来使用
新建立一个myiceproject目录,iceutil,ice等ice的源码工程目录位于myiceproject下,例如ice.dsp 就位于myiceproject / ice 目录下。
myiceproject下工程说明:
1 myiceproject 目录必须同Ice-3.3.1,以及Ice-3.3.1-ThirdParty放在同一个目录下。
2 必须自行设置好windows sdk 的include及lib目录。
3 直接使用ice编译好的lib文件的工程,需要自行设置连接ice的lib文件目录。
/******************************/
iceutil工程include目录
.
../../Ice-3.3.1/cpp/include
../../Ice-3.3.1/cpp/src
../../Ice-3.3.1/cpp/test/include
../../Ice-3.3.1-ThirdParty-VC60/include/stlport
iceutil工程lib目录
../../Ice-3.3.1-ThirdParty-VC60/lib
iceutil工程设置宏:
ICE_UTIL_API_EXPORTS
iceutil工程windows要连接的lib文件:
Rpcrt4.lib Advapi32.lib
/******************************/
ice工程搭建:
1 在将Ice-3.3.1\slice\Ice目录中的slice生成文件之前将Ice-3.3.1\cpp\src\Ice中的所有文件添加到src目录
2 在将Ice-3.3.1\slice\Ice目录中的slice生成文件之前将Ice-3.3.1\cpp\include\Ice中的所有文件添加到header files目录
3 将Ice-3.3.1\slice\Ice目录中的slice生成文件,生产的部分文件产生在Ice-3.3.1\cpp\src\Ice中,部分产生在Ice-3.3.1/cpp/include/Ice中
4 将slice生成在Ice-3.3.1\cpp\src\Ice目录中的文件添加到slice目录中
5 将slice生成在Ice-3.3.1\cpp\inlucde\Ice目录中的文件添加到slice_inc目录中
6 在工程中去掉 SysLoggerI.h,SysLoggerI.cpp这2个文件,ice没用到,况且编译时有问题。以后再研究这2个文件的用途。
ice工程include目录
.
../../Ice-3.3.1/cpp/include,
../../Ice-3.3.1/cpp/src,
../../Ice-3.3.1-ThirdParty-VC60/include,
../../Ice-3.3.1-ThirdParty-VC60/include/stlport
ice工程lib目录
../../Ice-3.3.1-ThirdParty-VC60/lib
../../Ice-3.3.1/cpp/lib
ice工程windows要连接的lib文件:
iceutild.lib ws2_32.lib Iphlpapi.lib Rpcrt4.lib Advapi32.lib libbz2d.lib
ice工程设置宏:
ICE_API_EXPORTS
WIN32_LEAN_AND_MEAN
添加/GR 设置
自己在ice工程目录下开发一个服务端主程序文件server.cpp,客户端主程序文件client.cpp
使用ice工程目录下的server.cpp编译则工程编译成服务器程序,使用client.cpp编译则为客户端程序。