mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
4.4 KiB
119 lines
4.4 KiB
15 years ago
|
|
||
|
|
||
|
___ __ _ _ __ ___ ___
|
||
|
/ __| ___ / _` | '__/ _ \/ __|
|
||
|
| (_ |___| (_| | | | __/\__ \
|
||
|
\___| \__,_|_| \___||___/
|
||
|
|
||
|
|
||
|
How to build c-ares using MSVC or Visual Studio
|
||
|
=================================================
|
||
|
|
||
|
|
||
|
|
||
|
How to build using MSVC from the command line
|
||
|
---------------------------------------------
|
||
|
|
||
|
Open a command prompt window and ensure that the environment is properly
|
||
|
set up in order to use MSVC or Visual Studio compiler tools.
|
||
|
|
||
|
Change to c-ares source folder where Makefile.msvc file is located and run:
|
||
|
|
||
|
> nmake -f Makefile.msvc
|
||
|
|
||
|
This will build all c-ares libraries as well as three sample programs.
|
||
|
|
||
|
Once the above command has finished a new folder named MSVCXX will exist
|
||
|
below the folder where makefile.msvc is found. The name of the folder
|
||
|
depends on the MSVC compiler version being used to build c-ares.
|
||
|
|
||
|
Below the MSVCXX folder there will exist four folders named 'cares',
|
||
|
'ahost', 'acountry', and 'adig'. The 'cares' folder is the one that
|
||
|
holds the c-ares libraries you have just generated, the other three
|
||
|
hold sample programs that use the libraries.
|
||
|
|
||
|
The above command builds four versions of the c-ares library, dynamic
|
||
|
and static versions and each one in release and debug flavours. Each
|
||
|
of these is found in folders named dll-release, dll-debug, lib-release,
|
||
|
and lib-debug, which hang from the 'cares' folder mentioned above. Each
|
||
|
sample program also has folders with the same names to reflect which
|
||
|
library version it is using.
|
||
|
|
||
|
|
||
|
How to build using Visual Studio 6 IDE
|
||
|
--------------------------------------
|
||
|
|
||
|
A VC++ 6.0 reference workspace (vc6aws.dsw) is available within the 'vc'
|
||
|
folder to allow proper building of the library and sample programs.
|
||
|
|
||
|
1) Open the vc6aws.dsw workspace with MSVC6's IDE.
|
||
|
2) Select 'Build' from top menu.
|
||
|
3) Select 'Batch Build' from dropdown menu.
|
||
|
4) Make sure that the sixteen project configurations are 'checked'.
|
||
|
5) Click on the 'Build' button.
|
||
|
6) Once the sixteen project configurations are built you are done.
|
||
|
|
||
|
Dynamic and static c-ares libraries are built in debug and release flavours,
|
||
|
and can be located each one in its own subdirectory, dll-debug, dll-release,
|
||
|
lib-debug and lib-release, all of them below the 'vc\cares' subdirectory.
|
||
|
|
||
|
In the same way four executable versions of each sample program are built,
|
||
|
each using its respective library. The resulting sample executables are
|
||
|
located in its own subdirectory, dll-debug, dll-release, lib-debug and
|
||
|
lib-release, below the 'vc\acountry', 'vc\adig' and 'vc\ahost'folders.
|
||
|
|
||
|
These reference VC++ 6.0 configurations are generated using the dynamic CRT.
|
||
|
|
||
|
|
||
|
How to build using Visual Studio 2003 or newer IDE
|
||
|
--------------------------------------------------
|
||
|
|
||
|
First you have to convert the VC++ 6.0 reference workspace and project files
|
||
|
to the Visual Studio IDE version you are using, following next steps:
|
||
|
|
||
|
1) Open vc\vc6aws.dsw with VS20XX.
|
||
|
2) Allow VS20XX to update all projects and workspaces.
|
||
|
3) Save ALL and close VS20XX.
|
||
|
4) Open vc\vc6aws.sln with VS20XX.
|
||
|
5) Select batch build, check 'all' projects and click 'build' button.
|
||
|
|
||
|
Same comments relative to generated files and folders as done above for
|
||
|
Visual Studio 6 IDE apply here.
|
||
|
|
||
|
|
||
|
Relationship between c-ares library file names and versions
|
||
|
-----------------------------------------------------------
|
||
|
|
||
|
c-ares static release library version files:
|
||
|
|
||
|
libcares.lib -> static release library
|
||
|
|
||
|
c-ares static debug library version files:
|
||
|
|
||
|
libcaresd.lib -> static debug library
|
||
|
|
||
|
c-ares dynamic release library version files:
|
||
|
|
||
|
cares.dll -> dynamic release library
|
||
|
cares.lib -> import library for the dynamic release library
|
||
|
cares.exp -> export file for the dynamic release library
|
||
|
|
||
|
c-ares dynamic debug library version files:
|
||
|
|
||
|
caresd.dll -> dynamic debug library
|
||
|
caresd.lib -> import library for the dynamic debug library
|
||
|
caresd.exp -> export file for the dynamic debug library
|
||
|
caresd.pdb -> debug symbol file for the dynamic debug library
|
||
|
|
||
|
|
||
|
How to use c-ares static libraries
|
||
|
----------------------------------
|
||
|
|
||
|
When using the c-ares static library in your program, you will have to
|
||
|
define preprocessor symbol CARES_STATICLIB while building your program,
|
||
|
otherwise you will get errors at linkage stage.
|
||
|
|
||
|
|
||
|
Have Fun!
|
||
|
|