cURL / Mailing Lists / curl-library / Single Mail


Visual Studio Project Files

From: Steve Holme <>
Date: Sat, 5 Apr 2014 18:34:17 +0100

Dear friends,

I have been saying on here for a long, long time that I would share my Visual Studio project files (Though I did email a few copies out last year) and finally after some rework of these files, settings and re-organisation of the directory structure I have pushed an introductory commit of said files - commit 11025613b9.

Currently we provide very limited Visual Studio IDE support for building curl and libcurl via the files in the VS directory – currently only VC6 (aka Visual Studio 6 / 98) and VC8 (aka Visual Studio 2005) so even this support is quite old ☹

Furthermore these files only support 32-bit Release and Debug builds without any support for 64-bit builds (possible in VC8 and above) or any of the third-party libraries we integrated with (such as OpenSSL, SSPI and SChannel, libSSH2, etc…).

Unfortunately, my files aren’t that extensive yet but they do support:

* 32-bit and 64-bit builds
* Generation of libcurl In .lib an .dll form
* OpenSSL
* SSPI - Both SSPI authentication and S-Channel SSL
* libSSH2

As such there are some 40 build configurations in these files.

I have only committed my VC8 files and will continue to work on other versions of Visual Studio as we move forward with the v7.37.0 release - however, please note that it did take me all of last night and most of today to rework, template and test the VC8 files so progress may be a little slow :(

Note: Visual Studio project files comprise of a Solution (aka Workspace in VC6) which can then be used to link to Project files (which contain a list of source files and the various compilation, pre-processor and linker settings). As we would prefer not to maintain the list of source files as and when those .c and .h are renamed, new files added or old files deleted I have started to template the Project files. As such there are no .dsp, .vcproj or .vcxproj files as part of this work. Instead I have created .tmpl files which are used to generate the Project files. I have written a Windows batch file to do this, which I have attached as a patch file for anyone interested, and hope to be able to add the generation to the release process - not too sure on the best way to do that at the moment :(

Things that I would like to do next:

* Add VC6, VC7, VC7.1, VC9, VC10, VC11 and VC12 variants
* Update the release process to generate the project files from the templates
* Integrate with other third-party libraries such as zlib and WinIDN
* Remove the older VS folder base files
* Get the test suite integrated and compiling under Visual Studio

Any ideas, suggestions or comment are as always much appreciated ;-)

Kind Regards


Received on 2014-04-05