You should probably take a look at the code for SimpleTransform and start with that. The 8 failing projects that you mentioned, are likely to be fixed or removed in 1.10 but should not affect the building of the Xalan libraries.
Cheers,
June K. Ng
| ryan <[EMAIL PROTECTED]>
04/21/2005 06:06 PM
|
|
Thanks for the quick response.
First, for my app using the prebuilt win32's:
I have Xerces 2.6 built into the project and working fine. I tried writing a basic function based off of "Basic usage pattern with the XalanTransformer C++ API" at http://xml.apache.org/xalan-c/usagepatterns.html
-------------------------------------
class consoleTestXalanTransform : public CCliCallback {
public:
virtual void doCallback(int argc, CMLString* lpStrArgs) {
XALAN_USING_XERCES(XMLPlatformUtils)
XALAN_USING_XALAN(XalanTransformer)
XALAN_USING_XALAN(XSLTInputSource)
XALAN_USING_XALAN(XSLTResultTarget)
XMLPlatformUtils::Initialize();
XalanTransformer::initialize();
XalanTransformer theXalanTransformer;
XSLTInputSource xmlIn("..\\main\system\test1.xml");
XSLTInputSource xslIn("..\\main\system\test2.xsl");
XSLTResultTarget xmlOut("..\\main\system\test-output.html");
int theResult = theXalanTransformer.transform(xmlIn,xslIn,xmlOut);
XalanTransformer::terminate();
XMLPlatformUtils::Terminate();
}
};
-------------------------------------
I made sure to link to Xalan-C_1.lib, xerces-c_2.lib and xerces-depdom_2.lib. Those are the only libs I could find. The file containing this function compiled fine. However, when I tried building the solution using VC7.1 and WinXP I got the aforementioned linker errors.
Next, trying to build Xalan 1.9 using VC7.1 in WinXP:
I made sure to set XERCESCROOT correctly. Then I simply opened up the solution and built. 8 projects failed including extensions, dom2dom, compare, inputsource, testxslt, params, memory and perf.
Here are some errors from the extensions project
-------------------------------------
------ Build started: Project: extensions, Configuration: Release Win32 ------
Compiling...
extensions.cpp
extensions.cpp(110) : error C2660: 'xalanc_1_9::XalanFileUtility::generateFileName' : function does not take 2 arguments
extensions.cpp(112) : error C2676: binary '+' : 'xalanc_1_9::XalanDOMString' does not define this operator or a conversion to a type acceptable to the predefined operator
extensions.cpp(113) : error C2660: 'xalanc_1_9::XalanFileUtility::generateFileName' : function does not take 2 arguments
extensions.cpp(117) : error C2676: binary '+' : 'xalanc_1_9::XalanDOMString' does not define this operator or a conversion to a type acceptable to the predefined operator
extensions.cpp(119) : error C2676: binary '+' : 'xalanc_1_9::XalanDOMString' does not define this operator or a conversion to a type acceptable to the predefined operator
extensions.cpp(145) : error C2676: binary '+' : 'xalanc_1_9::XalanDOMString' does not define this operator or a conversion to a type acceptable to the predefined operator
-------------------------------------
Hope this helps shed some more light. Is there something blatant that I'm missing?
June Ng wrote:
Hi,
Even though the "extraneous test code" is in the source tree, the xalan library should still be build-able. From the snippet of error msgs you've provided, we can't tell what you are trying to do .. can you give us a bit more detail and perhaps provide some sample code/test case?
June K. Ng
| ryan <[EMAIL PROTECTED]>
04/21/2005 03:38 PM
|
|
Hi,
I tried downloading the sources to build under VC7.1 but projects
started failing. I searched the archive of this list and the dev one
and it appears there is extraneous test code that needs to be removed
but it won't be until 1.10.
So I tried downloading the pre-built win32 distribution instead, tied it
to my project and attempted a simple initialize and transform. I got a
bunch of linker errors :
console.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: __thiscall
xalanc_1_9::XSLTResultTarget::XSLTResultTarget(char const *,class
MemoryManager &)"
([EMAIL PROTECTED]@@[EMAIL PROTECTED]@@@Z)
console.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: __thiscall
xalanc_1_9::XalanTransformer::XalanTransformer(class MemoryManager &)"
([EMAIL PROTECTED]@@[EMAIL PROTECTED]@@@Z)
console.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: static void __cdecl
xalanc_1_9::XalanTransformer::initialize(class MemoryManager &)"
([EMAIL PROTECTED]@xalanc_1_9@@SAXAAVMemoryManager@@@Z)
console.obj : error LNK2019: unresolved external symbol "public: static
class MemoryManager & __cdecl
xalanc_1_9::XalanMemMgrs::getDefaultXercesMemMgr(void)"
([EMAIL PROTECTED]@xalanc_1_9@@SAAAVMemoryManager@@XZ)
Then I noticed something. The prebuilt distribution only has 1 lib file
Xalan-C_1. My failed source build project attempted to build an
additional lib XalanMessages_1. So isn't the prebuilt package missing a
lib?
Could someone please confirm that this is the case and suggest a course
of action for this lowly Windows developer who just wants to do some xsl
transformations with my xerces parser?
TIA.
