<HTML><HEAD><META content="text/html; charset=utf8" http-equiv="Content-Type"><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Building on Windows and UNIX</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/build-winunix-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR> | |
<A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="charter.html" onMouseOut="rolloverOff('side-charter');" onMouseOver="rolloverOn('side-charter');"><IMG alt="Charter" border="0" height="12" hspace="0" name="side-charter" onLoad="rolloverLoad('side-charter','graphics/charter-label-2.jpg','graphics/charter-label-3.jpg');" src="graphics/charter-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');" src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','graphics/install-label-2.jpg','graphics/install-label-3.jpg');" src="graphics/install-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="http://xerces.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-20');" onMouseOver="rolloverOn('side-ext-20');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-20" onLoad="rolloverLoad('side-ext-20','graphics/ext-20-label-2.jpg','graphics/ext-20-label-3.jpg');" src="graphics/ext-20-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','graphics/build-label-2.jpg','graphics/build-label-3.jpg');" src="graphics/build-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','graphics/program-label-2.jpg','graphics/program-label-3.jpg');" src="graphics/program-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');" src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','graphics/faqs-label-2.jpg','graphics/faqs-label-3.jpg');" src="graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Reference" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','graphics/api-label-2.jpg','graphics/api-label-3.jpg');" src="graphics/api-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-88');" onMouseOver="rolloverOn('side-ext-88');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-88" onLoad="rolloverLoad('side-ext-88','graphics/ext-88-label-2.jpg','graphics/ext-88-label-3.jpg');" src="graphics/ext-88-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','graphics/migrate-label-2.jpg','graphics/migrate-label-3.jpg');" src="graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','graphics/feedback-label-2.jpg','graphics/feedback-label-3.jpg');" src="graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','graphics/bug-report-label-2.jpg','graphics/bug-report-label-3.jpg');" src="graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="mailing-lists.html" onMouseOut="rolloverOff('side-mailing-lists');" onMouseOver="rolloverOn('side-mailing-lists');"><IMG alt="Mailing Lists" border="0" height="12" hspace="0" name="side-mailing-lists" onLoad="rolloverLoad('side-mailing-lists','graphics/mailing-lists-label-2.jpg','graphics/mailing-lists-label-3.jpg');" src="graphics/mailing-lists-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR> | |
<A href="source-repository.html" onMouseOut="rolloverOff('side-source-repository');" onMouseOver="rolloverOn('side-source-repository');"><IMG alt="Source Repository" border="0" height="12" hspace="0" name="side-source-repository" onLoad="rolloverLoad('side-source-repository','graphics/source-repository-label-2.jpg','graphics/source-repository-label-3.jpg');" src="graphics/source-repository-label-3.jpg" vspace="0" width="120"></A><BR> | |
<A href="applications.html" onMouseOut="rolloverOff('side-applications');" onMouseOver="rolloverOn('side-applications');"><IMG alt="Applications" border="0" height="12" hspace="0" name="side-applications" onLoad="rolloverLoad('side-applications','graphics/applications-label-2.jpg','graphics/applications-label-3.jpg');" src="graphics/applications-label-3.jpg" vspace="0" width="120"></A><BR> | |
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD> | |
<UL> | |
<LI><A href="#WinNT">Building on Windows using Microsoft Visual C++</A></LI> | |
<LI><A href="#UNIX">Building on UNIX/Linux/Mac OS X platforms</A></LI> | |
<LI><A href="#CygWin">Building on Windows using Cygwin</A></LI> | |
<LI><A href="#WinBorlandCC">Building on Windows using Borland C++</A></LI> | |
<LI><A href="#WinBorlandBuilder">Building on Windows using Borland C++ Builder</A></LI> | |
<LI><A href="#WinIntel">Building 64 bit libraries on Windows using Intel C++</A></LI> | |
</UL> | |
<A name="WinNT"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building on Windows using Microsoft Visual C++</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> | |
<P>Xerces-C++ source distribution comes with Microsoft Visual C++ projects and solutions to | |
help you build Xerces-C++. The following describes the steps you need | |
to build Xerces-C++.</P> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>To build Xerces-C++ from the source distribution (using MSVC), you will | |
need to open the solution containing the project. If you are | |
building your application, you may want to add the Xerces-C++ | |
project inside your application's solution.</P> | |
<P>The solutions containing the Xerces-C++ project files and | |
all other samples are in the following sub-directories in the | |
xerces-c-src_2_8_0 directory:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
(For VC6) Projects\Win32\VC6\xerces-all\xerces-all.dsw | |
(For VC7.1) Projects\Win32\VC7.1\xerces-all\xerces-all.sln | |
(For VC8) Projects\Win32\VC8\xerces-all\xerces-all.sln | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>Once you have the solution open, you need to build the | |
project marked <B>XercesLib</B>. You can select | |
Debug/Release, Static/DLL, and, for VC8, 32/64 bit | |
builds using the Configuration Manager dialog.</P> | |
<P>If you want to include the Xerces-C++ project into | |
your own solution, you need to pick up:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
(For VC6) Projects\Win32\VC6\xerces-all\XercesLib\XercesLib.dsp | |
(For VC7.1) Projects\Win32\VC7.1\xerces-all\XercesLib\XercesLib.vcproj | |
(For VC8) Projects\Win32\VC8\xerces-all\XercesLib\XercesLib.vcproj | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>You must make sure that you are linking your application with | |
the xerces-c_2.lib library (or Debug/Static version of it | |
and also make sure that the associated DLL is somewhere in your | |
path.</P> | |
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you are linking your application to a static library, | |
then you will need to compile your application with the | |
XML_LIBRARY preprocessor define in order | |
to turn off the DLL import/export mechanism. This is | |
also the case for the Mingw-msys platform.</I></FONT></TD></TR></TABLE> | |
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you are working on the AlphaWorks version which uses ICU, | |
you must have the ICU data DLL named <CODE><FONT face="courier, monospaced">icudata.dll</FONT></CODE> | |
available from your path setting. For finding out where you | |
can get ICU from and build it, look at the | |
<A href="build-misc.html#faq-1">How to Build ICU</A>.</I></FONT></TD></TR></TABLE> | |
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If the library is built with the ICU message loader, | |
or message catalog loader, then you need to make sure | |
the XERCESC_NLS_HOME environment variable points to the | |
$XERCESCROOT/msg directory where the message files reside.</I></FONT></TD></TR></TABLE> | |
</FONT></TD></TR></TABLE><BR> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building samples</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>If you are using the source package, inside the same solution | |
(xerces-all.dsw or xerces-all.sln), you'll find several other | |
projects. These are for the samples. Select all the samples | |
and right click on the selection. Then choose "Build (selection | |
only)" to build all the samples in one shot.</P> | |
</FONT></TD></TR></TABLE><BR> | |
</FONT></TD></TR></TABLE><BR> | |
<A name="UNIX"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building on UNIX/Linux/Mac OS X platforms</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> | |
<P>Xerces-C++ uses | |
<A href="http://www.gnu.org/software/make/make.html">GNU make</A> | |
to build the libraries and samples. You must first make sure you | |
have GNU make installed on your system before proceeding. On some | |
platforms GNU make is called gmake instead of make. | |
If you do not have GNU make, ask your system administrator | |
to get it for you.</P> | |
<P><B>Do not jump into the build directly before reading this.</B></P> | |
<P>Spending some time reading the following instructions will save | |
you a lot of wasted time and support-related e-mail communication. | |
The Xerces-C++ build instructions are a little different from | |
normal product builds. Specifically, there are some wrapper-scripts | |
that have been written to make life easier for you. You are free | |
not to use these scripts and use the configure script and | |
GNU Make directly, but we want to make sure you | |
<A href="#runConfigure-example">know what you are by-passing</A> | |
and what risks you are taking. So read the following instructions | |
carefully before attempting to build it yourself.</P> | |
<P>Besides having all necessary build tools, you also need to know what | |
compilers we have tested Xerces-C++ on. The following table lists the | |
relevant platforms and compilers.</P> | |
<TABLE border="0" cellpadding="2" cellspacing="2" width="100%"> | |
<TR><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Operating System</B></B> | |
</FONT></TD><TD align="center" bgcolor="#039acc" colspan="1" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>Compiler</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>32-bit</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Windows x86 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">MS Visual C++ 7.1 (2003) | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Windows x86 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">MS Visual C++ 8.0 (2005) | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Linux x86 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">GCC 3.4.x or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 10 x86 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">GCC 3.4.x or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 10 x86 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Sun C++ 5.7 (Studio 10) or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 10 SPARC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">GCC 3.4.x or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 10 SPARC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Sun C++ 5.7 (Studio 10) or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">AIX 5.3 PowerPC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">IBM XL C++ 7.0 or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP-UX 11i PA-RISC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP aCC A.03.x | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP-UX 11i IA-64 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP aCC A.06.x | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">MacOS X 10.4 "Tiger" x86 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">GCC 4.0.x (Xcode 2.x) or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">MacOS X 10.4 "Tiger" PowerPC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">GCC 4.0.x (Xcode 2.x) or later | |
</FONT></TD></TR> | |
<TR><TD align="center" bgcolor="#039acc" colspan="2" rowspan="1" valign="center"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><B><B>64-bit</B></B> | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Windows x86-64 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">MS Visual C++ 8.0 (2005) | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Linux x86-64 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">GCC 3.4.x or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 10 x86-64 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">GCC 3.4.x or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 10 x86-64 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Sun C++ 5.7 (Studio 10) or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 10 SPARC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">GCC 3.4.x or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Solaris 10 SPARC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">Sun C++ 5.7 (Studio 10) or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">AIX 5.3 PowerPC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">IBM XL C++ 7.0 or later | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP-UX 11i PA-RISC | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP aCC A.03.x | |
</FONT></TD></TR> | |
<TR><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP-UX 11i IA-64 | |
</FONT></TD><TD align="" bgcolor="#a0ddf0" colspan="1" rowspan="1" valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">HP aCC A.06.x | |
</FONT></TD></TR> | |
</TABLE> | |
<P>While older platforms/compilers will most likely work, if you are not using any of | |
these compilers, you are taking a calculated risk | |
by exploring untested grounds. Your effort in making Xerces-C++ work on | |
new platforms/compilers is greatly appreciated and any problems you face can be addressed | |
on the <A href="mailing-lists.html">Xerces-C++ mailing lists</A>. | |
</P> | |
<P><B>Differences between the UNIX platforms:</B> The description below is | |
generic, but as every programmer is aware, there are minor differences | |
within the various UNIX flavors the world has been bestowed with. | |
The one difference that you need to watch out in the discussion below, | |
pertains to the system environment variable for finding libraries. | |
On <B>Linux</B> and <B>Solaris</B>, the environment variable name is called | |
<CODE><FONT face="courier, monospaced">LD_LIBRARY_PATH</FONT></CODE>, on <B>AIX</B> it is <CODE><FONT face="courier, monospaced">LIBPATH</FONT></CODE>, | |
on <B>Mac OS X</B> it is <CODE><FONT face="courier, monospaced">DYLD_LIBRARY_PATH</FONT></CODE>, | |
while on <B>HP-UX</B> it is <CODE><FONT face="courier, monospaced">SHLIB_PATH</FONT></CODE>. The following | |
discussion assumes you are working on Linux, but it is with subtle | |
understanding that you know how to interpret it for the other UNIX flavors.</P> | |
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you wish to build Xerces-C++ with ICU, | |
look at the <A href="build-misc.html#faq-1">Building Xerces-C++ with ICU</A>. | |
It tells you where you can get ICU and how to build Xerces-C++ with it.</I></FONT></TD></TR></TABLE> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Setting build environment variables</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>Before doing the build, you must first set your environment variables | |
to pick-up the compiler and also specify where you extracted Xerces-C++ | |
on your machine. | |
While the first one is probably set for you by the system administrator, just | |
make sure you can invoke the compiler. You may do so by typing the | |
compiler invocation command without any parameters (e.g. xlc_r, or g++, or cc) | |
and check if you get a proper response back.</P> | |
<P>Next set your Xerces-C++ root path as follows:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>export XERCESCROOT=<full-path-to-xerces-c-src_2_8_0></PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>This should be the full path of the directory where you extracted Xerces-C++.</P> | |
</FONT></TD></TR></TABLE><BR> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>As mentioned earlier, to build Xerces-C++ from the source distribution, | |
you will need GNU make.</P> | |
<P>If you look into the src/xercesc sub-directory in xerces-c-src_2_8_0, | |
you will notice the familiar configure script. It is tempting to run | |
this script directly as is normally the case, but wait a minute. | |
Even if you are | |
using the default compilers like | |
<A href="http://www.gnu.org/software/gcc/gcc.html">gcc</A> and | |
<A href="http://www.gnu.org/software/gcc/gcc.html">g++</A> | |
you need to export a few more | |
environment variables before you can invoke configure.</P> | |
<P>Rather than make you to figure out what strange environment | |
variables you need to use, we have provided you with a wrapper | |
script that does the job for you. All you need to do is tell | |
the script what your compiler is, and what options you are going to use | |
inside your build, and the script does everything for you. Here | |
is what the script takes as input:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
runConfigure: Helper script to run "configure" for one of the | |
supported platforms | |
Usage: runConfigure "options" | |
where options may be any of the following: | |
-p <platform> (accepts 'aix', 'beos', 'linux', 'freebsd', | |
'netbsd', 'solaris', 'hp-10', 'hp-11', 'openserver', 'unixware', | |
'os400', 'os390', 'irix', 'ptx', 'tru64', 'macosx', 'cygwin', | |
'qnx', 'interix', 'mingw-msys') | |
[required; no default] | |
-c <C compiler name> (e.g. gcc, cc, xlc_r, qcc, icc, icpc or ecc) | |
[default is make default; cc for gnu make] | |
-x <C++ compiler name> (e.g. g++, CC, aCC, xlC_r, xlC_rv5compat, QCC, | |
icc, icpc or ecc) [default is make default; g++ for gnu make] | |
-d (specifies that you want to build debug version) | |
[default: no debug] | |
-m <message loader> can be 'inmem', 'icu', 'MsgFile' or | |
'iconv' [default: inmem] | |
-n <net accessor> can be 'fileonly', 'libwww', 'socket', 'winsock' or | |
'native' [default: socket] | |
-t <transcoder> can be 'icu', 'Iconv400', 'Uniconv390', 'Win32', | |
'IconvFBSD', 'IconvGNU' or 'native' | |
[default: native] | |
-r <thread option> can be 'pthread' or 'dce' | |
(AIX, HP-11, and Solaris) or 'sproc' (IRIX) or 'none' | |
[default: pthread] | |
-s (specifies that you want to build static libraries) [default: shared] | |
-b <bitsToBuild> (accepts '64', '32') [default: 32] | |
-l <extra linker options> | |
-z <extra compiler options> | |
-P <install-prefix> | |
-C <any one extra configure options> | |
-h (get help on the above commands) | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>Xerces-C++ can be built as either a standalone library or as a library | |
dependent on International Components for Unicode (ICU). For simplicity, the | |
following discussion only explains standalone builds.</I></FONT></TD></TR></TABLE> | |
<A name="runConfigure-example"><!--anchor--></A> | |
<P>Some additional explanation may be helpful for some of the options:</P> | |
<UL><LI><B>-m <message loader>, -t <transcoder> </B> | |
<BR>If you specify <CODE><FONT face="courier, monospaced">icu</FONT></CODE> as the value for either of | |
these options, you must already have set the | |
environment variable ICUROOT to point to the ICU distribution directory.</LI> | |
<LI><B>-n <net accessor></B> | |
<BR>The default value <CODE><FONT face="courier, monospaced">socket</FONT></CODE> handles HTTP URL's. | |
The value <CODE><FONT face="courier, monospaced">native</FONT></CODE> is only supported for Mac OS X. The | |
value <CODE><FONT face="courier, monospaced">winsock</FONT></CODE> is only supported on Mingw-msys. | |
</LI> | |
</UL> | |
<P>One of the common ways to build Xerces-C++ is as follows:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
cd src/xercesc | |
./runConfigure -plinux -cgcc -xg++ -minmem -nsocket -tnative -rpthread | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>The response will be something like the following (extra line | |
breaks have been added for readability). See especially the end, | |
which tells you how <B>configure</B> was invoked.</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
Generating makefiles with the following options ... | |
Platform: linux | |
C Compiler: gcc | |
C++ Compiler: g++ | |
Message Loader: inmem | |
Net Accessor: socket | |
Transcoder: native | |
Thread option: pthread | |
Library type: shared | |
bitsToBuild option: 32 | |
Extra compile options: | |
Extra link options: | |
Extra configure options: | |
Debug is OFF | |
checking for gcc... gcc | |
checking for C compiler default output file name... a.out | |
checking whether the C compiler works... yes | |
checking whether we are cross compiling... no | |
checking for suffix of executables... | |
checking for suffix of object files... o | |
checking whether we are using the GNU C compiler... yes | |
checking whether gcc accepts -g... yes | |
checking for gcc option to accept ISO C89... none needed | |
checking whether we are using the GNU C++ compiler... yes | |
checking whether g++ accepts -g... yes | |
checking for a BSD-compatible install... /usr/bin/install -c | |
checking for autoconf... autoconf | |
checking how to run the C preprocessor... gcc -E | |
checking for grep that handles long lines and -e... /bin/grep | |
checking for egrep... /bin/grep -E | |
checking for ANSI C header files... yes | |
checking for sys/types.h... yes | |
checking for sys/stat.h... yes | |
checking for stdlib.h... yes | |
checking for string.h... yes | |
checking for memory.h... yes | |
checking for strings.h... yes | |
checking for inttypes.h... yes | |
checking for stdint.h... yes | |
checking for unistd.h... yes | |
checking for XMLByte... no | |
checking build system type... i686-unknown-linux-gnu | |
checking host system type... i686-unknown-linux-gnu | |
configure: creating ./config.status | |
config.status: creating Makefile | |
config.status: creating util/Makefile | |
config.status: creating util/Transcoders/Cygwin/Makefile | |
config.status: creating util/Transcoders/Win32/Makefile | |
config.status: creating util/Transcoders/ICU/Makefile | |
config.status: creating util/Transcoders/Iconv/Makefile | |
config.status: creating util/Transcoders/Iconv390/Makefile | |
config.status: creating util/Transcoders/Uniconv390/Makefile | |
config.status: creating util/Transcoders/Iconv400/Makefile | |
config.status: creating util/Transcoders/IconvFBSD/Makefile | |
config.status: creating util/Transcoders/IconvGNU/Makefile | |
config.status: creating util/Transcoders/MacOSUnicodeConverter/Makefile | |
config.status: creating util/Platforms/Makefile | |
config.status: creating util/Platforms/Solaris/Makefile | |
config.status: creating util/Platforms/AIX/Makefile | |
config.status: creating util/Platforms/BeOS/Makefile | |
config.status: creating util/Platforms/QNX/Makefile | |
config.status: creating util/Platforms/Linux/Makefile | |
config.status: creating util/Platforms/FreeBSD/Makefile | |
config.status: creating util/Platforms/NetBSD/Makefile | |
config.status: creating util/Platforms/HPUX/Makefile | |
config.status: creating util/Platforms/OS390/Makefile | |
config.status: creating util/Platforms/OS400/Makefile | |
config.status: creating util/Platforms/IRIX/Makefile | |
config.status: creating util/Platforms/PTX/Makefile | |
config.status: creating util/Platforms/OpenServer/Makefile | |
config.status: creating util/Platforms/UnixWare/Makefile | |
config.status: creating util/Platforms/Tru64/Makefile | |
config.status: creating util/Platforms/MacOS/Makefile | |
config.status: creating util/Platforms/Win32/Makefile | |
config.status: creating util/Platforms/Cygwin/Makefile | |
config.status: creating util/Compilers/Makefile | |
config.status: creating util/MsgLoaders/InMemory/Makefile | |
config.status: creating util/MsgLoaders/ICU/Makefile | |
config.status: creating util/MsgLoaders/ICU/resources/Makefile | |
config.status: creating util/MsgLoaders/MsgCatalog/Makefile | |
config.status: creating util/MsgLoaders/MsgFile/Makefile | |
config.status: creating util/NetAccessors/Socket/Makefile | |
config.status: creating util/NetAccessors/WinSock/Makefile | |
config.status: creating util/NetAccessors/libWWW/Makefile | |
config.status: creating util/NetAccessors/MacOSURLAccessCF/Makefile | |
config.status: creating util/regx/Makefile | |
config.status: creating validators/Makefile | |
config.status: creating validators/common/Makefile | |
config.status: creating validators/datatype/Makefile | |
config.status: creating validators/DTD/Makefile | |
config.status: creating validators/schema/Makefile | |
config.status: creating validators/schema/identity/Makefile | |
config.status: creating framework/Makefile | |
config.status: creating framework/psvi/Makefile | |
config.status: creating dom/Makefile | |
config.status: creating dom/impl/Makefile | |
config.status: creating dom/deprecated/Makefile | |
config.status: creating parsers/Makefile | |
config.status: creating internal/Makefile | |
config.status: creating sax/Makefile | |
config.status: creating sax2/Makefile | |
config.status: creating ../../obj/Makefile | |
config.status: executing default commands | |
Having build problems? | |
Read instructions at http://xerces.apache.org/xerces-c/build.html | |
Still cannot resolve it? | |
Find out if someone else had the same problem before. | |
Go to http://marc.theaimsgroup.com/?l=xerces-c-dev | |
In future, you may also directly type the following commands to create | |
the Makefiles. | |
export TRANSCODER="NATIVE" | |
export MESSAGELOADER="INMEM" | |
export NETACCESSOR="Socket" | |
export THREADS="pthread" | |
export LIBTYPE="shared" | |
export BITSTOBUILD="32" | |
export CC="gcc" | |
export CXX="g++" | |
export CXXFLAGS=" -w -O2 -DNDEBUG -DPROJ_XMLPARSER -DPROJ_XMLUTIL -DPROJ_PARSERS | |
-DPROJ_SAX4C -DPROJ_SAX2 -DPROJ_DOM -DPROJ_DEPRECATED_DOM -DPROJ_VALIDATORS -DX | |
ML_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_ | |
USE_NETACCESSOR_SOCKET " | |
export CFLAGS=" -w -O2 -DNDEBUG -DPROJ_XMLPARSER -DPROJ_XMLUTIL -DPROJ_PARSERS - | |
DPROJ_SAX4C -DPROJ_SAX2 -DPROJ_DOM -DPROJ_DEPRECATED_DOM -DPROJ_VALIDATORS -DXML | |
_USE_NATIVE_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DXML_USE_PTHREADS -DXML_US | |
E_NETACCESSOR_SOCKET " | |
export LDFLAGS=" " | |
export LIBS=" -lpthread " | |
configure | |
If the result of the above commands look OK to you, go to the directory | |
src/xercesc and type "make" (or "gmake") to make the XERCES-C system. | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>So now you see what the wrapper script has actually been doing! It has | |
invoked <CODE><FONT face="courier, monospaced">configure</FONT></CODE> | |
to create the Makefiles in the individual sub-directories, but in addition | |
to that, it has set a few environment variables to correctly configure | |
your compiler and compiler flags too.</P> | |
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If you are building a 64 bit Xerces-C++ | |
using g++ that by default generated 32 bit code (or vice | |
versa), then you will need to specify additional compiler | |
and linker options via the -z and -l runConfigure options | |
in order to switch the compiler into 64 bit mode (or 32 bit | |
mode). These options are architecture-specific and you | |
may need to consult the GCC manual to determine which | |
ones to use. For the x86-64, PowerPC, and SPARC | |
architectures these options are -m64 (64 bit mode) and | |
-m32 (32 bit mode). Note also that if you are using | |
the packageBinaries.pl script to build Xerces-C++ | |
then you may need to modify this script to pass the | |
necessary options to runConfigure. | |
</I></FONT></TD></TR></TABLE> | |
<P>Now that the Makefiles are all created, you are ready to do the actual build.</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>make</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>Is that it? Yes, that's all you need to build Xerces-C++. The libraries | |
can be found in the lib sub-directory </P> | |
<TABLE border="0" cellpadding="0" cellspacing="3" width="100%"><TR><TD valign="top" width="20"><IMG alt="Note" border="0" height="24" hspace="0" src="resources/note.gif" vspace="0" width="20"></TD><TD valign="top"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"><I>If the library is built with the ICU message loader, | |
or message catalog loader, then you need to make sure | |
the XERCESC_NLS_HOME environment variable points to the | |
$XERCESCROOT/msg directory where the message files reside.</I></FONT></TD></TR></TABLE> | |
</FONT></TD></TR></TABLE><BR> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building samples</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>The building process for the samples is similar to building | |
the Xerces-C++ libraries. The samples directory contains the | |
runConfigure script which is very similar to the one found | |
in src/xercesc except it has fewer options. To see available | |
options, run: | |
</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
cd samples | |
./runConfigure -h | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>To continue our build procedure from the previous section, | |
we execute runConfigure with the following options:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
./runConfigure -plinux -cgcc -xg++ -rpthread | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>After that we can run GNU make to build the samples:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
make | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>The sample executable can be found in the bin sub-directory in | |
xerces-c-src_2_8_0. To delete all the generated object | |
files and executables, run:</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
make clean | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
</FONT></TD></TR></TABLE><BR> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building a single-threaded library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>To build Xerces-C++ as a single-threaded library on UNIX platforms you | |
have to pass the -rnone option to runConfigure. The following additional | |
steps are neccessary for certain platforms:</P> | |
<P>For Aix - </P> | |
<UL> | |
<LI>Replace <CODE><FONT face="courier, monospaced">xlc_r</FONT></CODE> and <CODE><FONT face="courier, monospaced">xlC_r</FONT></CODE> compilers with | |
<CODE><FONT face="courier, monospaced">xlc</FONT></CODE> and <CODE><FONT face="courier, monospaced">xlC</FONT></CODE> respectively</LI> | |
<LI>Replace <CODE><FONT face="courier, monospaced">makeC++SharedLib_r</FONT></CODE> with <CODE><FONT face="courier, monospaced">makeC++SharedLib</FONT></CODE> in | |
Makefile.incl</LI> | |
</UL> | |
</FONT></TD></TR></TABLE><BR> | |
</FONT></TD></TR></TABLE><BR> | |
<A name="CygWin"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building on Windows using Cygwin</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> | |
<P><B>Do not jump into the build directly before reading this.</B></P> | |
<P>Xerces-C++ may be built in the | |
<A href="http://www.cygwin.com">Cygwin</A> environment for use | |
by Cygwin applications. As with the <A href="#UNIX">UNIX</A> | |
platforms, Xerces-C++ on Cygwin uses | |
<A href="http://www.gnu.org">GNU</A> tools. Therefore, with a | |
couple of notable exceptions, Xerces-C++ on Cygwin is built using | |
the same instructions as the UNIX platforms. The build environment | |
variable XERCESCROOT must be set to the proper path containing the | |
Xerces-C++ sources and <B>runConfigure</B> must be run with the | |
"-pcygwin -cgcc -xg++" arguments.</P> | |
<P>Note that Cygwin is different from the UNIX platforms in the way | |
that it finds libraries at run time. While UNIX platforms may use the | |
environment variable LD_LIBRARY_PATH, Cygwin uses the PATH environment | |
variable.</P> | |
<P>There is an issue with the | |
<A href="http://www.gnu.org/software/gcc/gcc.html">gcc/g++</A> | |
compiler version 2.95, where C++ exceptions thrown from a dll will | |
cause the application to crash, regardless of whether there is a "catch" | |
statement. This bug doesn't occur in tests using gcc 3.1 or 3.2, so it | |
is recommended that you use gcc 3.1 or higher.</P> | |
</FONT></TD></TR></TABLE><BR> | |
<A name="WinBorlandBuilder"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building on Windows using Borland C++ Builder</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> | |
<P>Xerces-C++ source distribution comes with Borland C++ Builder 6 projects to help you | |
build Xerces-C++. The following describes the steps you need to build | |
Xerces-C++.</P> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P> The library and demo projects are all contained in the Xerces-all project group: | |
</P> | |
<UL> | |
<LI> xerces-c-src_2_8_0\Projects\Win32\BCB6\Xerces-all\Xerces-all.bpg </LI> | |
</UL> | |
<P> Each project in the group refers a directory below \Xerces-all. | |
For example, the XercesLib project files are contained in the directory | |
</P> | |
<UL> | |
<LI> xerces-c-src_2_8_0\Projects\Win32\BCB6\Xerces-all\XercesLib </LI> | |
</UL> | |
<P> To build any project, open the project manager. Double click on the project | |
name. Then select "Project|Build" from the menu. For example, double click | |
on XercesLib.dll in the manager. Then select "Project|Build XercesLib" from | |
the menu. | |
Once the library has been built, include XercesLib.lib with in application's | |
project and place XercesLib.dll somewhere in your path. | |
</P> | |
</FONT></TD></TR></TABLE><BR> | |
</FONT></TD></TR></TABLE><BR> | |
<A name="WinBorlandCC"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building on Windows using Borland C++</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> | |
<P>Xerces-C++ source distribution comes with Borland C++ Compiler make files to help you | |
build Xerces-C++. The following describes the steps you need to build | |
Xerces-C++.</P> | |
<OL> | |
<LI>Change directory to <CODE><FONT face="courier, monospaced"> xerces-c-src_2_8_0\Projects\Win32\BCC.551\Xerces-all</FONT></CODE></LI> | |
<LI>Run <CODE><FONT face="courier, monospaced">MakeBuildDirs.bat</FONT></CODE>.</LI> | |
<LI>Then issue</LI> | |
<UL> | |
<LI><CODE><FONT face="courier, monospaced">make -f Xerces-all.mak</FONT></CODE> | |
<BR>to build the dll (without deprecated DOM API) and tests, or</LI> | |
<LI><CODE><FONT face="courier, monospaced">make -f Xerces-all.mak -DWITHDEPRDOM=Y</FONT></CODE> | |
<BR>to build the dll with deprecated DOM API (approx. 300k larger) and tests</LI> | |
</UL> | |
</OL> | |
</FONT></TD></TR></TABLE><BR> | |
<A name="WinIntel"><!--anchor--></A> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building 64 bit libraries on Windows using Intel C++</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif"> | |
<P>Xerces-C++ source distribution comes with Microsoft Visual C++ NMake Files which | |
work with Intel C++ Compiler. The following describes the steps you need | |
to build Xerces-C++ 64 bit binary using Intel C++ Compiler.</P> | |
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Building Xerces-C++ library</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1"> | |
<P>Xerces-C++ source distribution provides a makefile <CODE><FONT face="courier, monospaced">all.mak</FONT></CODE> | |
which will build everything including samples, tests and the parser library.</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
cd xerces-c-src_2_8_0\Projects\Win32\VC6\xerces-all\all | |
nmake -f all.mak "CFG=all - Win64 Release" CPP=ecl.exe | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>If you want to just build the Xerces-C++ parser library alone, then</P> | |
<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE> | |
cd xerces-c-src_2_8_0\Projects\Win32\VC6\xerces-all\XercesLib | |
nmake -f XercesLib.mak "CFG=XercesLib - Win64 Release" CPP=ecl.exe | |
</PRE></FONT></TD><TD bgcolor="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></DIV> | |
<P>You must make sure that you are linking your application with | |
the xerces-c_2.lib library and also make sure that | |
the associated DLL is somewhere in your path.</P> | |
</FONT></TD></TR></TABLE><BR> | |
</FONT></TD></TR></TABLE><BR> | |
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I> | |
Copyright © 1999-2007 The Apache Software Foundation. | |
All Rights Reserved. | |
</I></FONT></TD></TR></TABLE></BODY></HTML> |