Build Environment

Sh is supported under the following flavours of Microsoft Visual C++:

A build environment consists of setting up several environment variables (PATH, INCLUDE and LIB). PATH is used to search for executables and DLLs. INCLUDE is used by the compiler to search for header files. LIB is used by the linker to search path for libraries. Given below are the details concerning what software needs to be installed and the appropriate environment variable settings for each of the supported build environments.


Visual C++ Toolkit 2003 Downloading

The following needs to be downloaded and installed:

Setup

Once the above software has been installed, the commands given below will setup an appropriate build environment. These commands assume that the software was installed into the default locations. If this is not the case then the values of VCDIR, MSSDK and VSNET will need to be changed to reflect this.

@echo off

set VCDIR=C:\Program Files\Microsoft Visual C++ Toolkit 2003
set MSSDK=C:\Program Files\Microsoft SDK
set VSNET=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7

set PATH=%PATH%;c:\UnxUtils\usr\local\wbin
set PATH=%PATH%;%VCDIR%\bin
set PATH=%PATH%;%MSSDK%\Bin
set PATH=%PATH%;%MSSDK%\Bin\Win64

set INCLUDE=%INCLUDE%;%VCDIR%\include
set INCLUDE=%INCLUDE%;%MSSDK%\include

set LIB=%LIB%;C:\Dev\lib
set LIB=%LIB%;%VCDIR%\lib
set LIB=%LIB%;%VSNET%\lib
set LIB=%LIB%;%MSSDK%\Lib

The commands listed above can be downloaded as a batch file, env.bat.

Missing msvcprt.lib

Sh uses the Standard C++ Library and the .NET Framework SDK installs the DLLs (msvcp71.dll) and Symbols (msvcp71.pdb) but is missing the Import Library (msvcprt.lib) needed during linking. However, given access to the DLL, you can generate an Import Library with the following:

echo LIBRARY msvcp71.dll > msvcprt.def
echo EXPORTS >> msvcprt.def
dumpbin /exports msvcp71.dll | sed -nf exports.sed >> msvcprt.def
lib /def:msvcprt.def /machine:x86

This requires sed, which is provided with UnxUtils. You will also need to download the sed script, exports.sed.



Visual Studio .NET 2003 Downloading

Visual Studio .NET 2003 cannot be downloaded. Please visit the Visual Studio website for information about obtaining a copy.

Setup

Once the above software has been installed, the commands given below will setup an appropriate build environment. These commands assume that the software was installed into the default locations. If this is not the case then the value of VSNET will need to be changed to reflect this.

@echo off

set VSNET=C:\Program Files\Microsoft Visual Studio .NET 2003
set VCDIR=%VSNET%\VC7
set MSSDK=%VSNET%\VC7\PlatformSDK

set PATH=%PATH%;c:\UnxUtils\usr\local\wbin
set PATH=%PATH%;%VCDIR%\bin
set PATH=%PATH%;%VSNET%\Common7\IDE

set INCLUDE=%INCLUDE%;%VCDIR%\include
set INCLUDE=%INCLUDE%;%MSSDK%\include

set LIB=%LIB%;%VCDIR%\lib
set LIB=%LIB%;%MSSDK%\lib

The commands listed above can be downloaded as a batch file, env.bat.



Visual C++ 2005 Express Beta Downloading

The following needs to be downloaded and installed:

Setup

Once the above software has been installed, the commands given below will setup an appropriate build environment. These commands assume that the software was installed into the default locations. If this is not the case then the values of VCDIR and MSSDK will need to be changed to reflect this.

@echo off

set VCDIR=C:\Program Files\Microsoft Visual Studio 8
set MSSDK=C:\Program Files\Microsoft SDK

set PATH=%PATH%;c:\UnxUtils\usr\local\wbin
set PATH=%PATH%;%VCDIR%\VC\bin
set PATH=%PATH%;%VCDIR%\Common7\IDE

set INCLUDE=%INCLUDE%;%VCDIR%\VC\include
set INCLUDE=%INCLUDE%;%MSSDK%\include

set LIB=%LIB%;%VCDIR%\VC\lib
set LIB=%LIB%;%MSSDK%\include

The commands listed above can be downloaded as a batch file, env.bat.