58 lines
2.8 KiB
HTML
58 lines
2.8 KiB
HTML
|
<HTML>
|
||
|
<HEAD><TITLE>APR Win32 Builds and Debugging</TITLE></HEAD>
|
||
|
<BODY>
|
||
|
<h1>APR Win32 Builds and Debugging</h1>
|
||
|
|
||
|
<h2>Configuration and Flavors</h2>
|
||
|
|
||
|
<p>The Win32 APR Developer Studio projects consist of</p>
|
||
|
|
||
|
<dl>
|
||
|
<dt>apr/apr.dsp</dt>
|
||
|
<dd>Builds the static apr.lib library (-D APR_DECLARE_STATIC)</dd>
|
||
|
<dt>apr/libapr.dsp</dt>
|
||
|
<dd>Builds the dynamic libapr.dll library (no define required)</dd>
|
||
|
<dt>apr-util/aprutil.dsp</dt>
|
||
|
<dd>Builds the static aprutil.lib library (-D APU_DECLARE_STATIC)</dd>
|
||
|
<dt>apr-util/libaprutil.dsp</dt>
|
||
|
<dd>Builds the dynamic libaprutil.dll library (no define required)</dd>
|
||
|
<dt>apr-iconv/apriconv.dsp</dt>
|
||
|
<dd>Builds the static apriconv.lib library (-D API_DECLARE_STATIC)</dd>
|
||
|
<dt>apr-iconv/libapriconv.dsp</dt>
|
||
|
<dd>Builds the dynamic libapriconv.dll library (no define required)</dd>
|
||
|
</dl>
|
||
|
|
||
|
<p>In order to prepare to use one of the <em>static</em> libraries above,
|
||
|
your application must be compiled with the define shown above, so that the
|
||
|
correct linkage is created. The APR authors intended the use of dynamic
|
||
|
libraries by default, so application authors do not need any special
|
||
|
defines in order to link to the dynamic library flavors.</p>
|
||
|
|
||
|
<p>In order to build APR, you must use the proper dependencies. A good
|
||
|
example of those dependencies is given in the apr-util/aprutil.dsw
|
||
|
Developer Studio workspace. You can borrow the parts of that structure
|
||
|
your application needs, that workspace defines both the dynamic and static
|
||
|
library dependencies.</p>
|
||
|
|
||
|
<p>The APR libraries (dynamic and static) are compiled with debugging symbols,
|
||
|
even in Release builds. The dynamic library symbols are always usable,
|
||
|
simply keep the correspond .pdb file in the same path as the library .dll.
|
||
|
(E.g. both libapr.dll and libapr.pdb should be copied to the same path.)</p>
|
||
|
|
||
|
<p>The static symbols will only be fully usable if your application does <em>not<em>
|
||
|
link with the /pdbtype:sept flag! At the time your application links to
|
||
|
an APR library, the corresponding _src.pdb file should exist in the original
|
||
|
path the library was built, or it may be sufficient to keep the _src.pdb file
|
||
|
in the same path as the library file. (E.g. apr.lib and apr_src.pdb should
|
||
|
reside together in your lib directory.) The later option is unconfirmed.</p>
|
||
|
|
||
|
<p>In order to keep the symbols compiled into the static library, your application
|
||
|
must use the linker's /debug flag. If you do not want the application to be
|
||
|
debuggable with its corresponding .pdb file, omit the /debug flag and all debug
|
||
|
symbolic information is discarded. Note that your application can only be
|
||
|
debugged with the corresponding .pdb file created by the linker, unless you use
|
||
|
/debugtype:coff or /debugtype:both in your link options.</p>
|
||
|
|
||
|
</BODY>
|
||
|
</HTML>
|