cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: new project file and README for Visual Studio 2005

From: Pierre Joye <pierre.php_at_gmail.com>
Date: Tue, 1 Dec 2009 19:09:39 +0100

On Tue, Dec 1, 2009 at 6:22 PM, Klaus Darilion
<klaus.mailinglists_at_pernau.at> 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:
>> http://pecl2.php.net/downloads/php-windows-builds/source/curl-7.19.6-source.zip).
>>
>> 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

> 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,

-- 
Pierre
http://blog.thepimp.net | http://www.libgd.org
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2009-12-01