git-svn-id: svn://10.65.10.50/branches/R_10_00@23289 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			125 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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 ;-) |