cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Not able to build curl on Windows using VS2008.

From: Ray Satiro <raysatiro_at_yahoo.com>
Date: Wed, 10 Dec 2014 03:08:54 -0500

On 12/10/2014 1:41 AM, Arif Ali wrote:
> On Tue, Dec 9, 2014 at 4:53 PM, Guenter <lists_at_gknw.net
> <mailto:lists_at_gknw.net>> wrote:
>
> Hi Arif,
> here's a quick way without fancy GUI which works:
>
> 1) open a "Visual Studio 2008 command prompt"
> 2) change dir to the root of your extracted curl-7.39.0 source
> 3) build with: "nmake VC=vc9 vc-winssl"
> 4) test: with: "src\curl -V" - should show ya:
> curl 7.39.0 (i386-pc-win32) libcurl/7.39.0 WinSSL
> Protocols: dict file ftp ftps gopher http https imap imaps ldap
> pop3 pop3s rtsp smtp smtps telnet tftp
> Features: AsynchDNS Largefile SSPI SPNEGO NTLM SSL
>
> I've just tested above, and that really works! So simple it can be ...
> using zlib with libcurl doesnt bring much benefit, only the
> curl.exe tool uses zlib to compress the manual (AFAICT).
>

This is now the fourth way I know of to build libcurl on Windows using
Visual Studio. Is this way supported? These are the older makefiles, no?

> I tried eveyhting that you have mentioned and it
> generated the
> curl.exe but i need libCurl.dll.
>
> C:\curlPrj\curl-7.39.0>.\src\curl.exe -V
> curl 7.39.0 (i386-pc-win32) libcurl/7.39.0 WinSSL
> Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3
> pop3s rtsp
> smtp smtps telnet tftp
> Features: AsynchDNS Largefile SSPI SPNEGO NTLM SSL
>

In this case it should be in lib\release-winssl so check
C:\curlPrj\curl-7.39.0\lib\release-winssl. Don't link to it just from
the lib dir like C:\curlPrj\curl-7.39.0\lib\libcurl.lib because if you
build multiple configurations some other configuration could end up
overwriting that file.

Speaking of multiple configurations, you have built a static release
library and if you want to use Debug configurations you will need to
link to a static debug library. There doesn't seem to be a debug-winssl
though.

You could instead build the DLL for both debug and release using the
newer makefiles:

Open a Visual Studio 2008 command prompt
cd C:\curlPrj\curl-7.39.0\winbuild
nmake /f Makefile.vc mode=dll VC=9 ENABLE_IDN=no
nmake /f Makefile.vc mode=dll VC=9 ENABLE_IDN=no DEBUG=yes

IDN is disabled because VS2008 default SDK doesn't have IdnToAscii or
IdnToUnicode in normaliz.lib. You'll end up with:

C:\curlPrj\curl-7.39.0\builds\libcurl-vc9-x86-debug-dll-ipv6-sspi-winssl
C:\curlPrj\curl-7.39.0\builds\libcurl-vc9-x86-release-dll-ipv6-sspi-winssl

For your x86 release configuration(s) do this:

Configuration Properties > Debugging > Environment
PATH=C:\curlPrj\curl-7.39.0\builds\libcurl-vc9-x86-release-dll-ipv6-sspi-winssl\bin;%PATH%

C/C++ > General > Additional Include Directories
C:\curlPrj\curl-7.39.0\builds\libcurl-vc9-x86-release-dll-ipv6-sspi-winssl\include;

Linker > General > Additional Library Directories
C:\curlPrj\curl-7.39.0\builds\libcurl-vc9-x86-release-dll-ipv6-sspi-winssl\lib;

Linker > Input > Additional Dependencies
libcurl.lib;

For your x86 debug configuration(s) do this:

Configuration Properties > Debugging > Environment
PATH=C:\curlPrj\curl-7.39.0\builds\libcurl-vc9-x86-debug-dll-ipv6-sspi-winssl\bin;%PATH%

C/C++ > General > Additional Include Directories
C:\curlPrj\curl-7.39.0\builds\libcurl-vc9-x86-debug-dll-ipv6-sspi-winssl\include;

Linker > General > Additional Library Directories
C:\curlPrj\curl-7.39.0\builds\libcurl-vc9-x86-debug-dll-ipv6-sspi-winssl\lib;

Linker > Input > Additional Dependencies
libcurl_debug.lib;

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2014-12-10