Building with Visual C++, prerequises ===================================== This document describes how to compile, build and install curl and libcurl from sources using the Visual C++ build tool. To build with VC++, you will of course have to first install VC++. The minimum required version of VC is 6 (part of Visual Studio 6). However using a more recent version is strongly recommended. VC++ is also part of the Windows Platform SDK. You do not have to install the full Visual Studio or Visual C++ if all you want is to build curl. The latest Platform SDK can be downloaded freely from: http://msdn.microsoft.com/en-us/windows/bb980924 If you are building with VC6 then you will also need the February 2003 Edition of the Platform SDK which can be downloaded from: http://www.microsoft.com/en-us/download/details.aspx?id=12261 If you wish to support zlib, openssl, ssh2, you will have to download them separately and copy them to the deps directory as shown below: somedirectory\ |_curl-src | |_winbuild | |_deps |_ lib |_ include |_ bin It is also possible to create the deps directory in some other random places and tell the Makefile its location using the WITH_DEVEL option. Building with Visual C++ ======================== Open a Visual Studio Command prompt or the SDK CMD shell. Using the CMD Shell: choose the right environment via the setenv command (see setenv /?) for the full list of options. setenv /xp /x86 /release for example. Using the Visual Studio command prompt Shell: Everything is already pre-configured by calling one of the command prompt. Once you are in the console, go to the winbuild directory in the Curl sources: cd curl-src\winbuild Then you can call nmake /f Makefile.vc with the desired options (see below). The builds will be in the top src directory, builds\ directory, in a directory named using the options given to the nmake call. nmake /f Makefile.vc mode=<static or dll> <options> where <options> is one or many of: VC=<6,7,8,9,10,11,12> - VC versions WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.) Defaults to sibbling directory deps: ../deps Libraries can be fetched at http://windows.php.net/downloads/php-sdk/deps/ Uncompress them into the deps folder. WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes Requires Windows Vista or later, or installation from: http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815 ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build) DEBUG=<yes or no> - Debug builds MACHINE=<x86 or x64> - Target architecture (default is x86)