1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
======================================================================
Requirements
======================================================================
Windows version
---------------
Ice has been extensively tested with Windows XP, Windows 2000 and
Windows 98 SE. Ice is also expected to work on Windows 98, Windows
ME, Windows NT 3.51, Windows NT 4.0 and Windows Server 2003.
Ice binary distributions for Visual C++ .NET 2002 and 2003 are
also available from http://www.zeroc.com/download.html. These binary
distributions require Windows NT 4.0, Windows 2000, Windows XP
or Windows Server 2003.
C++ compiler
------------
The following Microsoft Visual C++ compilers are supported:
- Visual C++ 6.0 SP5 with STLport 4.5 (or later)
- Visual C++ .NET 2002 (aka VC 7.0)
- Visual C++ .NET 2003 (aka VC 7.1)
The STL (Standard Template Library) that is included with Visual C++
6.0 is not supported! You must use STLport 4.5 (or later) with Visual
C++ 6.0. You can download STLport from:
http://www.stlport.org/download.html
For STLport installation instructions, please see:
http://www.stlport.org/doc/install.html
For Visual C++ .NET 2002 and 2003, you can use the included STL
library. Downloading and installing STLport is not required for
these compiler versions.
Third-party libraries
---------------------
- Berkeley DB 4.2.52
- expat 1.9x
- OpenSSL 0.96 or 0.97
- bzip2 1.0
You must install all these packages before proceeding with the
installation of Ice.
If you are using Visual C++ .NET 2002 or 2003 you can download
an installer for all these Ice dependencies from
http://www.zeroc.com/download.html.
You can download Berkeley DB from:
http://www.sleepycat.com/download
And expat from:
http://sourceforge.net/projects/expat/
And OpenSSL from:
http://www.openssl.org
And bzip2 from:
http://sources.redhat.com/bzip2
Note: For a regular build of bzip2, both the debug and the release
library are named "libbz2.lib". In order to be able to have both a
debug and a release version on your system, please rename the debug
library to "libbz2d.lib". This is also what the Ice project files
expect if you build a debug version of Ice.
We recommend that you use the same Visual C++ version to build all
of the third party libraries.
If you are using STLPort, you must configure Visual Studio 6.0 to
use STLPort before building Berkeley DB:
- In the Visual C++ 6.0 IDE, choose Tools->Options->Directories
- Select "Include files".
- Add the include directory for STLport first in the list. (Note
that you must add the include\stlport directory, not just
"include".)
- Select "Library files".
- Add the lib directory for STLport.
Python 2.3
----------
To run the automated test suite, you will need Python 2.3. If you have
no interest in running the test scripts, Python is not required. You
can download a Python distribution for Windows from:
http://www.activestate.com
Important note for Windows 98, Windows 98 SE and Windows ME:
unfortunately the Windows 9x shell is too limited to run the Ice test
suite. For these versions of Windows, you need Cygwin and the python
interpreter that comes with Cygwin in order to run the test suite.
Cygwin can be downloaded from:
http://www.cygwin.com
======================================================================
Compilation and Testing
======================================================================
Using your favorite Zip tool, unzip the Ice archive anywhere you
like. Then start the Microsoft Visual C++ IDE.
First, you must make sure that your compiler finds all the required
third-party packages (include files, libraries, and DLLs):
- In the IDE, choose:
* Visual C++ 6.0: Tools->Options->Directories
* Visual C++ .NET: Tools->Options->Projects->VC++ Directories
- Select "Include files".
- Add the include directories for Berkeley DB, expat, OpenSSL,
and bzip2.
If you used the binary installer for expat, then the proper include
directory is C:\Expat-1.95.6\Source\lib.
- Select "Library files".
- Add the library directories for Berkeley DB, expat, OpenSSL,
bzip2.
If you used the binary installer for expat, then the proper library
directory is C:\Expat-1.95.6\Libs.
- Select "Executable files".
- Add the directories which contain DLLs for Berkeley DB, expat,
OpenSSL and bzip2, and STLport (if required).
Now you're ready to compile Ice. Open the "all.dsw" workspace. If you
are using Visual C++ .NET, then the project files will first be
converted from Visual C++ 6.0 to .NET format.
Set your active project to either "all" or "minimal". "all" will
compile everything including tests and demos. "minimal" will not
compile tests and demos. To set your active project with Visual C++
6.0, use Project->Set Active Project. For Visual C++ .NET, click on
"all" or "minimal" in the class view, then use Project->Set as StartUp
Project.
To start the compilation, use Build->Build for Visual C++ 6.0, or
Build->Build all/minimal for Visual C++ .NET, respectively.
If you built the tests with "all", you can run the test suite,
provided that you have installed Python. Open a command prompt, and
change to the directory Ice-<version>. At the command prompt, execute:
python allTests.py
If everything worked out, you should see lots of "ok". In case of a
failure, the tests abort with "failed".
If you want to try out any of the demos, make sure to add the "bin"
directory, which contains DLLs and executables, to your PATH.
======================================================================
Windows 98, Windows 98 SE, Windows ME, Windows NT 3.51
======================================================================
By default, IceUtil::Mutex and related classes are implemented using
Windows' CriticalSection, and in particular they use the function
TryEnterCriticalSection. This function is either not present or
implemented as a "no-op" call on Windows 98, Windows 98 SE, Windows ME
and Windows NT 3.51, so default Ice builds cannot be used on these
versions of Windows.
IceUtil::Mutex and related classes can also use "heavier" mutex
objects that allow Ice to work on all Windows versions (>= 98). If you
wish to build Ice in this configuration, you must first edit the file
%ICE_HOME%\include\IceUtil\Config.h and remove the following lines:
# ifndef _WIN32_WINNT
//
// Necessary for TryEnterCriticalSection.
//
# define _WIN32_WINNT 0x0400
# endif
On Windows 98, Windows 98 SE and Windows ME, we also recommend to
increase the number of connections supported by TCP/IP (to 500
for example). See MaxConnections at
http://support.microsoft.com/default.aspx?scid=kb;EN-US;158474
======================================================================
Installation
======================================================================
Installation instructions for Visual Studio .NET 2002 and 2003 are
provided in Ice-<version>\install\vc70\README and
Ice-<version>\vc71\README.
No automatic installation support is provided for Visual C++ 6.0: you
need to copy the contents of the bin, include, and lib directories by
hand. The include directory contains all Ice include files, the lib
directory all Ice libraries, and the bin directory all Ice executables
and DLLs.
After installation, make sure to add the include directory to the
Visual C++ "Include files", the lib directory to the "Library files",
and the bin directory to the "Executable files". (Visual C++ 6.0:
Choose Tools->Options->Directories. Visual C++ .NET: Choose
Tools->Options->Projects->VC++ Directories.)
|