1 |
// $Id: README_MSVC 437 2009-02-25 17:32:00Z awk $
|
1 |
// $Id: README_MSVC 452 2009-04-14 08:14:26Z jrf $
|
2 |
//
|
2 |
//
|
3 |
Building instructions for GEL under Visual Studio 7.1 and 8 (2003 and 2005)
|
3 |
Building instructions for GEL under Visual Studio
|
4 |
|
4 |
|
5 |
1. Project configuration
|
5 |
1. Project configuration
|
6 |
|
6 |
|
7 |
We use MPC to maintain .sln and .vcproj files, since the format of these files changes with each new version of Visual studio. The average GEL-user need not bother with this, since .bat files have been created to ease the use.
|
7 |
We use cmake to maintain .sln and .vcproj files.
|
8 |
|
8 |
|
9 |
More info on MPC can be found on:
|
- |
|
10 |
http://www.ociweb.com/products/mpc
|
- |
|
11 |
|
- |
|
12 |
2. Subsetting
|
- |
|
13 |
|
- |
|
14 |
The use of MPC allows relatively easy creation of subsets of GEL. An example subset is created using MPC and the Perl script makefiles/CGLA.pl which deletes all non-CGLA source code from GEL.
|
- |
|
15 |
|
- |
|
16 |
3. Build Configurations
|
- |
|
17 |
|
- |
|
18 |
Each project contain four configurations: Debug, Release, Install_Debug and Install. Debug and Release have the usual functionality, while Install_Debug and Install are special:
|
- |
|
19 |
|
- |
|
20 |
We assume, that once GEL is installed, it should be used without adding the source and header files to the particular project. Therefore we install GEL in an outside directory defined by the environment variables GEL_INCLUDE, GEL_LIB and GEL_BIN. In the configuration, this is done by setting the Target Directory to $(GEL_LIB), and, as a post-build event, all header files are copied to $(GEL_INCLUDE). This is done by the the Install_Debug and Install build configurations
|
- |
|
21 |
|
- |
|
22 |
The environment variables should be the paths where all 3rd party lib and
|
- |
|
23 |
header files are stored (like /usr/local/ on a *NIX system)
|
- |
|
24 |
|
- |
|
25 |
4. Runtime checks: _SECURE_SCL and _HAS_ITERATOR_DEBUGGING
|
9 |
2. Runtime checks: _SECURE_SCL and _HAS_ITERATOR_DEBUGGING
|
26 |
|
10 |
|
27 |
Due to legacy code in GEL, these runtime checks have to be disabled. This
|
11 |
Due to legacy code in GEL, these runtime checks have to be disabled. This
|
28 |
means that when you create a new project in Visual Studio that you intend to
|
12 |
means that when you create a new project in Visual Studio that you intend to
|
29 |
use with GEL, you *must* also define _SECURE_SCL=0 and
|
13 |
use with GEL, you *must* also define _SECURE_SCL=0 and
|
30 |
_HAS_ITERATOR_DEBUGGING=0. Failure to do so will result in random crashes.
|
14 |
_HAS_ITERATOR_DEBUGGING=0. Failure to do so will result in random crashes.
|
31 |
|
15 |
|
32 |
|
16 |
|