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 like | |
2008 (vc9) 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 Platform SDK can be fetched here, freely: | |
http://msdn.microsoft.com/en-us/windows/bb980924 | |
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> - 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://pecl2.php.net/downloads/php-windows-builds/ | |
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) |