Hi ! 
Thanks for posting this. Actually , the latest SVN version is implementing 
all this steps and you can rebuild XalanC without those tweaks. 
Also , in the latest version some significant conformance defects were 
fixed , and that's the second reason to use it over the old XalanC1_10_0 . 

Speaking about stability , the current source tree is pretty stable and 
I'd say it's in "pre-release condition"  . 
Thanks!
Dmitry




"Hans Smit" <[EMAIL PROTECTED]> 
21/09/2007 03:02 PM
Please respond to
xalan-c-users@xml.apache.org


To
<xalan-c-users@xml.apache.org>
cc

Subject
building xalanc using msvc++ 2005 express edition






I spent way too much time on this and I must say, I was a little 
disgruntled with what has been posted on all the various XalanC mailing 
lists. Everyone says there's a solution, but give next to no detail on how 
to achieve this "elusive" solution. Well I spent the better part of a day 
finally figuring it out the hard way, trial and error.
 
Here's a list of steps to compile the XalanC version 1.10.0 on Microsofts 
Visual C++ 2005 Express Edition (MSVC++ 2005 Express Ed.)
 
NOTE: these are only the steps to compile the Release version, I never got 
around to figuring out how to compile it in Debug mode (I ran into some 
more problems)
 
NOTE: XercesC and XalanC were compiled in the c:\dev directory, you can of 
course compile it any where you like.
 
 
XERCES
======
1) Download xerces-c-src_2_7_0.zip and unzip it in c:\dev
2) Copy the contents of C:\dev\xerces-c-src_2_7_0\Projects\Win32\VC7.1 
into a newly created VC8 directory
3) Open Projects\Win32\VC8\xerces-all.sln. It will automatically get 
converted to MSVC++ express edition Solutions
4) Set the solution configuration to Release
5) Right mouse click on the XercesLib project and select Properties
6) in the C++ and Linker sections change all VC7.1 directories to VC8
7) C++ -> Advanced -> Disable Specific Warnings = 4996
8) C++ -> Language -> Treat w_char as Built in type = NO
9) Remove XercesLib\util\WIN32\version.rc file from the project.
10) Compile only the XercesLib project
 
11) Change the Tools -> Options -> Projects and Solutions -> VC++ 
Directories:
            Include Files: C:\dev\xerces-c-src_2_7_0\src
            Library files: 
C:\dev\xerces-c-src_2_7_0\Build\Win32\VC8\Release
 
12) My Computer->Properties->Advanced->Environement Variables
            XERCESCROOT:C:\dev\xerces-c-src_2_7_0
 
 
XALAN
=====
 
1) Downloaded source distro. Xalan-C_1_10_0-src.zip 2,894,892 bytes
2) unziped to c:\dev directory
3) Copy the contents of C:\dev\xml-xalan\c\Projects\Win32\VC7.1 into a 
newly created VC8 directory
4) Open Projects\Win32\VC8\Xalan.sln. It will automatically get converted 
to MSVC++ express edition Solutions
4) Set the solution configuration to Release
5) Right mouse click on the AllInOne project and select Properties
6) in the C++ and Linker sections change all VC7.1 directories to VC8
7) C++ -> Advanced -> Disable Specific Warnings = 4996
8) C++ -> Language -> Treat w_char as Built in type = NO
9) Remove AllInOne\Resource Files\allinone.rc file from the project.
 
compiling localisation
----------------------
1) Update the following files (from the C:\dev\xml-xalan\c\ root):
Projects\Win32\VC8\Utils\Localization\tools.ini
Projects\Win32\VC8\Utils\Localization\BuildMessages.mak
Projects\Win32\VC8\Utils\MsgCreator\MsgCreator.mak
Projects\Win32\VC8\Utils\XalanMsgLib\XalanMsgLib.mak
 
2) All places that have a VC7.1, change to VC8
3) tools.ini : comment [NMAKE] -> #[NMAKE]
4) BuildMessages.mak : insert the following line at the top : include 
tools.ini
 
5) MsgCreator.mak: change the following line,
CPP_PROJ=/nologo /W4 /EHsc /wd4996 /Zc:wchar_t- /O2 /I ".\\" /I 
$(XALANINCLUDE) $(XERCESINCLUDE) /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D 
"_MBCS" /Fp"$(INTDIR)\MsgCreator.pch" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" 
/FD /c 
to,
CPP_PROJ=/nologo /ML /W4 /GX /O2 /I ".\\" /I $(XALANINCLUDE) 
$(XERCESINCLUDE) /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" 
/Fp"$(INTDIR)\MsgCreator.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 

 
6) XalanMsgLib.mak: change the following line,
CPP_PROJ=/nologo /MD /W4 /GX /O2 $(XERCESINCLUDE) /I "..\..\..\..\..\src" 
/I ".\$(BUILDRESDIR)\Nls\Include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D 
"_MBCS" /D "_USRDLL" /D "XALANMSGLIB_EXPORTS" /D 
"XALAN_XALANMSGLIB_BUILD_DLL" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
to,
CPP_PROJ=/nologo /MD /W4 /EHsc /O2 $(XERCESINCLUDE) /I 
"..\..\..\..\..\src" /I ".\$(BUILDRESDIR)\Nls\Include" /D "WIN32" /D 
"NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "XALANMSGLIB_EXPORTS" /D 
"XALAN_XALANMSGLIB_BUILD_DLL" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c 
 
7) Ensure that the Release build is active
 
8) Right-mouse click on the Localization project -> Project Only - > Build 
only Localization
 
11) Change the Tools -> Options -> Projects and Solutions -> VC++ 
Directories:
            Include Files: C:\dev\xml-xalan\c\src
            xxx Library files: 
C:\dev\xerces-c-src_2_7_0\Build\Win32\VC8\Release
 
12) Build AllInOne Project
 
 
 
That's it! Don't let the number of steps and the compiler switches 
intimidate you. It's not so bad. I've been discovering the wonderful world 
of server side / C++/ XSLT processing, ever since  - and it's a beautiful 
thing.
 
I hope this helps.

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.487 / Virus Database: 269.13.27/1020 - Release Date: 
9/20/2007 12:07 PM

Reply via email to