The piece of software you are installing uses the AutoWin build system to support Windows builds using Visual C++. This system is designed to provide a framework that will allow the package to be compiled using a wide range of compilers.
AutoWin achieves this by using the command-line interface to your compiler. It is important, therefore, that you know how to set up a command-line environment. If you already know how to this, skip to the next section.
If you use Visual Studio .NET or newer (or Visual C++ .NET or newer), you will already have a command line shortcut installed into your start menu. Simply open this item, and proceed to the next step.
If you use the Visual C++ Toolkit (2003), or the Visual C++ Express Edition (2005), you may have this item, but it is not sufficient. You will also need to have installed the Platform SDK, and incorporate the two environments together. Visual C++ Express Edition 2008 includes a bundled Platform SDK which is auto-bundled and usually sufficient. To bundle manually, open the Visual C++ item from the start menu, and running the SetEnv.bat file from your Platform SDK directory. If using the Visual C++ Toolkit, you will also have to add the path containing NMAKE.EXE to your path (at the end!). This file is distributed as part of the Win64 support in your Platform SDK.
If you use an older version of Visual C++, open a command prompt. You will need to run a batch file that initializes your environment. If running Visual Studio, Visual C++ is (by default) the Vc\ subdirectory of your Visual Studio directory. The locations are:
Visual C++ 1.1 (32-bit edition) | Installation Root\Bin\VcVars32.bat |
Visual C++ 2.x | Installation Root\Bin\VcVars32.bat |
Visual C++ 4.x | Installation Root\Bin\VcVars32.bat |
Visual C++ 5.x | VC Installation Root\Bin\VcVars32.bat |
Visual C++ 6.x | VC Installation Root\Bin\VcVars32.bat |
Change to the directory where you have unpacked the source, and run:
buildIf you need finer grained control than build.bat, or if the automatic configuration is incorrect, consider using a manual build. This typically involves specifying the compiler version yourself. These settings can then be used to invake the Makefile directly:
NMAKE /f Makefile.w32 MSC_VER=1000 MSC_ED=stdAntinat may need to know what version of Visual C++ you are running. This version number represents the version of the Microsoft C/C++ compiler, not Visual C++ (which uses marketing-inspired versioning.) Sometimes defaults will work (but are not optimal.) Here is a conversion table for your convenience:
Visual C++ 1.1 (32-bit edition) | MSC_VER=800 |
Visual C++ 2.x | MSC_VER=900 |
Visual C++ 4.x | MSC_VER=1000 |
Visual C++ 5.x | MSC_VER=1100 |
Visual C++ 6.x | MSC_VER=1200 |
Visual C++ .NET (2002) | MSC_VER=1300 |
Visual C++ .NET 2003 | MSC_VER=1310 |
Visual C++ .NET 2005 | MSC_VER=1400 |
Visual C++ .NET 2008 | MSC_VER=1500 |
Visual C++ .NET 2010 | MSC_VER=1600 |
Visual C++ .NET 2012 | MSC_VER=1700 |
Visual C++ .NET 2013 | MSC_VER=1800 |
Antinat may need to know what edition of Visual C++ you are running. Sometimes defaults will work (but are not optimal.) Here is a conversion table for your convenience:
Visual C++ 4.x | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro |
Visual C++ 5.x | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro |
Visual C++ 6.x | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro |
Visual C++ .NET (2002) | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro |
Visual C++ .NET 2003 | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro; Toolkit: MSC_ED=free |
Visual C++ 2005 | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro; Express: MSC_ED=free |
Visual C++ 2008 | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro; Express: MSC_ED=free; Windows Server 2008/Windows 7 SDK MSC_ED=free |
Visual C++ 2010 | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro; Express: MSC_ED=free; Windows 7 SDK MSC_ED=free |
Visual C++ 2012 | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro; Express: MSC_ED=free |
Visual C++ 2013 | Standard edition: MSC_ED=std; Professional edition: MSC_ED=pro; Express: MSC_ED=free |
AutoWin supports a number of standard compilation options. These options are supported across the different versions of Visual C++ so no matter what version you're running, the option will be available.
This flag | ...does this | Default | Legitimate values |
---|---|---|---|
CLIB_SHARED | Changes between using a static C library or the DLL (for your compiler.) Using a shared library makes smaller binaries, but users of your application must have it installed. | CLIB_SHARED=1 (for MSC_VER 9-12), CLIB_SHARED=0 (otherwise.) | CLIB_SHARED=0, CLIB_SHARED=1 |
DEBUG | Enables debugging information in the build. 2 is full debugging, 1 is hybrid (optimized with debug.) | DEBUG=0 | DEBUG=0, DEBUG=1, DEBUG=2 |
RELOC | Enables a relocatable binary. The main reason for using this is to support Win32s. | RELOC=0 | RELOC=0, RELOC=1 |
UNICODE | Not all packages support this option. Attempts to build a Unicode binary, rather than ANSI. | UNICODE=1 | UNICODE=0, UNICODE=1 |
WITH_3D | Not all versions of Visual C++ support this option. Attempts to use the ctl3d library, to provide a 3D interface. On MSC_VER 1000 and above, this is the default. | WITH_3D=0 | WITH_3D=0, WITH_3D=1 |
Your particular package may include additional options beyond those AutoWin provides. To see a description of these options, run:
build help