Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

77 lines (58 sloc) 2.628 kb
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
How To Build libcurl to Use ares For Asynch Name Resolves
c-ares: (a patched and improved version of ares)
libcurl works with ares 1.1.1, but several patches and improvements have
been put into the c-ares package which has made it more portable and better
working on several platforms.
Build ares
1. unpack the ares archive
2. cd ares-dir
3. ./configure
4. make
Build libcurl to use ares in the curl source tree
1. name the ares source directory 'ares' in the curl source directory
2. ./configure --enable-ares
3. make
Build libcurl to use an installed ares
1. ./configure --enable-ares=/path/to/ares/install
2. make
Ares and ipv6
If the configure script enables IPv6 support you need to explicitly disable
that (--disable-ipv6) since ares isn't IPv6 compatible (yet).
Ares on win32
(description brought by Dominick Meglio)
First I compiled curl-ares. I changed the default C runtime library to be the
single-threaded rather than the multi-threaded (this seems to be required to
prevent linking errors later on). Then I simply build the areslib project (the
other projects adig/ahost seem to fail under MSVC).
Next was libcurl. I opened lib/config-win32.h and I added a:
#define USE_ARES 1
Next thing I did was I added the path for the ares includes to the include
path, and the libares.lib to the libraries.
Lastly, I also changed libcurl to be single-threaded rather than
multi-threaded, again this was to prevent some duplicate symbol errors. I'm
not sure why I needed to change everything to single-threaded, but when I
didn't I got redefinition errors for several CRT functions (malloc, stricmp,
I would have modified the MSVC++ project files, but I only have VC.NET and it
uses a different format than VC6.0 so I didn't want to go and change
everything and remove VC6.0 support from libcurl.
Jump to Line
Something went wrong with that request. Please try again.