cURL / Mailing Lists / curl-library / Single Mail


Re: new project file and README for Visual Studio 2005

From: Klaus Darilion <>
Date: Tue, 01 Dec 2009 20:47:28 +0100

Pierre Joye wrote:
> On Tue, Dec 1, 2009 at 6:22 PM, Klaus Darilion
> <> wrote:
>> Hi Pierre!
>> Pierre Joye wrote:
>>> hi
>>> I always wonder what is so hard to use the makefile?
>> I started using the makefile, but sadly failed. IIRC using nmake in a
>> platform SDK shell to build 64bit did not worked out of the box. Further I
>> did not understand the possible targets (dll, static with VCRT dll, static
>> with VRCT linked statically). I also failed integrating a makefile project
>> into Visual Studio - I was not able to make separate debug/release builds.
>> For me it was easier using and adopting a VS project file, probably because
>> I am more used to it than to makefiles and I could not find an documentation
>> about the makefile targets.
>>> I'm not saying
>>> that sln are not useful, but in the case of this library, the makefile
>>> works pretty well and relatively up to date. That being said, I still
>>> have to provide the patch to add support for SSH :) (src available
>>> here:
>>> The good think with makefile is that they can work with all VC
>>> versions ( I use them for VC6/9/10, x86 and x64).
>>> Would it not simpler to use only them and provide sample SLN for curl
>>> applications instead?
>> Would this also allow to build all targets at the same time? I usually use
>> the "batch build" to make all targets for all platforms at once.
> Easy to add a "all" target. nmake all

What are the nmake commands to build libcurl for example:
  - dll
  - static lib w/ VCRT dll dependency
  - static lib w/o VCRT dll dependency ?

There there already makefile targets for this?

>> In the VS project file I use macros like $(PlatformName) and
>> $(ConfigurationName) for the location of the output files. Is this also used
>> in the makefiles, or will an nmake in a 64bit shell overwrite the previously
>> created library created with nmake in a 32bit shell?
> That's possible too and will be necessary to create a "all" target.
> However in the console you can't have both x64 and x86 targets from
> the same shell. The various paths differ (include, libs, bins). You
> have to switch from one config to another, using the SDK it is done
> with the setenv cmd:
> setenv /xp /x86 /release



> to setup a xp compatible mode using the x86 release.
> Cheers,

List admin:
Received on 2009-12-01