123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- Building via IDE Project Files
- ==============================
- This document describes how to compile, build and install curl and libcurl
- from sources using an IDE based development tool such as Visual Studio.
- Project files are currently available for Visual C++ v6.0 to v12.0. The
- following directory structure has been used to cater for this:
- somedirectory\
- |_curl
- |_projects
- |_<platform>
- |_<ide>
- |_lib
- |_src
- This structure allows for side-by-side compilation of curl on the same
- machine using different versions of a given compiler (for example VC8, VC9
- and VC10) and allows for your own application or product to be compiled
- against those variants of libcurl for example.
- Note: Typically this side-by-side compilation is generally only required
- when a library is being compiled against dynamic runtime libraries.
- Dependencies
- ============
- The projects files also support build configurations that require third
- party dependencies such as OpenSSL and SSH2. If you wish to support these,
- you will also need to download and compile those libraries as well.
- To support compilation of these libraries using different versions of
- compilers, the following directory structure has been used for both the
- output of curl and libcurl as well as these dependencies.
- somedirectory\
- |_curl
- | |_ build
- | |_<architecture>
- | |_<ide>
- | |_<configuration>
- | |_lib
- | |_src
- |
- |_openssl
- | |_ build
- | |_<architecture>
- | |_VC <version>
- | |_<configuration>
- |
- |_libssh2
- |_ build
- |_<architecture>
- |_VC <version>
- |_<configuration>
- As OpenSSL doesn't support side-by-side compilation when using different
- versions of Visual Studio a build helper batch file has been provided to
- assist with this. Please run "build-openssl -help" for usage details.
- Building with Visual C++
- ========================
- To build with VC++, you will of course have to first install VC++ which is
- part of Visual Studio.
- If you are building with VC6 then you will also need the February 2003
- Edition of the Windows Platform SDK which can be downloaded from:
- http://www.microsoft.com/en-us/download/details.aspx?id=12261
- If you require support for Internationalized Domain Names via Windows IDN
- then you will need either:
- * Microsoft Internationalized Domain Name (IDN) Mitigation APIs:
- http://www.microsoft.com/en-us/download/details.aspx?id=734
- * Microsoft Windows SDK Update for Windows Vista:
- http://www.microsoft.com/en-us/download/details.aspx?id=23719
- * Microsoft Visual Studio 2010 or above
- Once you have VC++ installed you should launch the application and open one
- of the solution or workspace files.
- Whilst files are provided for both libcurl and the curl command line tool as
- well as a configuration that includes both, it is recommend that you use the
- all-in-one configuration.
- Notes
- =====
- The following keywords have been used in the directory hierarchy:
-
- <platform> - The platform (For example: Windows)
- <ide> - The IDE (For example: VC6, VC10, BCC5)
- <architecture> - The platform architecture (For example: Win32, Win64)
- <configuration> - The target configuration (For example: DLL Debug,
- LIB Release - LIB OpenSSL)
- If you are using the source code from the git repository, rather than a
- release archive or nightly build, you will need to generate the project
- files. Please run "generate -help" for usage details.
- Should you wish to help out with some of the items on the TODO list, or
- find bugs in the project files that need correcting, and would like to
- submit updated files back then please note that, whilst the solution files
- can be edited directly, the templates for the project files (which are
- stored in the git repositoty) will need to be modified rather than the
- generated project files that Visual Studio uses.
- TODO
- ====
- These project files are a recent addition to the curl source code and as such
- are not 100% complete. This is a list of things that are still todo:
- * Support zlib
- * Use of static runtime libraries
- * Generate *.vcxproj.filters files for VC10, VC11 and VC12
- * Add the Test Suite components
- * Support for other development IDEs
- Any additional help would be appreciated ;-)
|