I have added the two lib paths in Tools | Options | Project Solutions | VC++ Directories (selecting Library files) and Project | Properities | Linker | General | Additional library folders (Selecting the "All configurations" on Configuration combo on top left.
And in the BuildLog.htm file appears this: Creando archivo temporal "d:\Ser teleco mola\IPTV\Aplicación\Desarrollo\dIPTV\contents_manager\Debug\RSP00000416012186844.rsp" con contenido [ /OUT:"D:\Ser teleco mola\IPTV\Aplicación\Desarrollo\dIPTV\Debug\contents_manager.exe" /INCREMENTAL /LIBPATH:"D:\Ser teleco mola\IPTV\Aplicación\Desarrollo\dIPTV\xercesc_2_8_0\lib" /MANIFEST /MANIFESTFILE:"Debug\contents_manager.exe.intermediate.manifest" /DEBUG /ASSEMBLYDEBUG /PDB:"d:\Ser teleco mola\IPTV\Aplicación\Desarrollo\dIPTV\debug\contents_manager.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 /FIXED:No kernel32.lib ".\Debug\contents_manager.obj" ] Creando línea de comandos "link.exe @"d:\Ser teleco mola\IPTV\Aplicación\Desarrollo\dIPTV\contents_manager\Debug\RSP00000416012186844.rsp" /NOLOGO /ERRORREPORT:PROMPT" So it seems I have added properly the folder but it does not work. This folder contains xerces_c_2.lib, xerces_c_2D.lib and static(2) and depdom (4) extensions, 8 files. I don't know if I need to configure anything more... I am so sorry, but can you help me, please? I promise you that as soon as I can link properly I will ask more "interesting" questions..haha. Thank you a lot, Javi 2007/11/29, Alberto Massari <[EMAIL PROTECTED]>: > > Javier, > the same operation you did for the include folder should be done for the > lib folder (using the Link property page of the Project properties if > you want to fix just this project, or using the VC++ Directories > property page in the Tools | Options menu, after selecting Library files > in the combo box). > In case you didn't already do it, you also need to list xerces_2.lib > (for release builds) and xerces_2D.lib (for debug builds) in the > 'additional libraries' entry of the project properties. > > Alberto > > Javier Gálvez Guerrero wrote: > > I think that the attachement doesn't work properly, so I'll copy paste > the > > first outputs: > > > > Vinculando... contents_manager.obj : warning LNK4248: símbolo (token) de > > typeref sin resolver (01000019) para 'xercesc_2_8.XMLValidator'; no se > puede > > ejecutar la imagen contents_manager.obj: warning LNK4248: símbolo > (token) de > > typeref sin resolver (0100001A) para 'xercesc_2_8.XMLGrammarPool'; no se > > puede ejecutar la imagen contents_manager.obj : error LNK2028: se hace > > referencia al símbolo (token) sin resolver (0A0003AE) "public: class > > xercesc_2_8::DOMDocument * __thiscall > > xercesc_2_8::AbstractDOMParser::getDocument(void)" (?getDocument@ > > [EMAIL PROTECTED]@@[EMAIL PROTECTED]@XZ) en la función > > "public: void __thiscall contents_manager::load_guide(class > > std::basic_string,class std::allocator >)" > > ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@D > > @std@@[EMAIL PROTECTED]@2@@std@@@Z) > > > > Sorry for the inconvenience, > > Javi > > > > 2007/11/28, Javier Gálvez Guerrero <[EMAIL PROTECTED]>: > > > >> Should I configure anything for the linking files as I did with the > >> Include? > >> > >> I have compiled my code with no errors, but at the time of linking > appear > >> lots of errors (BuildLog.htm attached). > >> > >> Thank you, > >> Javi > >> > >> PS: Jesse, thanks a lot for your explanation about System.XML and its > >> features. I am trying to design an application as multiplatform as > possible > >> and now that I have started with Xerces I would like to use it. But > it's > >> good to know all the alternatives out there. =). > >> > >> > >> > >> 2007/11/28, Jesse Pelton <[EMAIL PROTECTED]>: > >> > >>> Regarding System.XML versus Xerces: Xerces exists to provide a solid, > >>> open-source, cross-platform implementation of certain XML standards > for C++ > >>> developers. Almost all C++ developers are using unmanaged code; I > think > >>> you're the first I've heard of using Xerces with managed C++. > >>> > >>> To the extent that you're in a managed-code environment, Mono's > >>> implementation of System.XML may fulfill the same requirements. If > >>> you're targeting Windows exclusively, the cross-platform issue is of > no > >>> consequence; you'll use the Microsoft implementation. My > understanding is > >>> that System.XML is well-designed and robust, but I can't vouch for > that > >>> myself. That leaves openness; if that's not important for your > project, > >>> System.XML would probably be at least as good a fit as Xerces (and I > >>> imagine there's a large community of managed code developers who can > help > >>> you out, though not one of them is as good as Alberto). Using > >>> System.XML would avoid redundancy: you wouldn't have to distribute, > and > >>> your developers wouldn't have to understand, an additional library. > >>> > >>> This is not to say that you shouldn't use Xerces; it's a great > >>> library. Just know your options. > >>> > >>> -----Original Message----- > >>> From: Javier Gálvez Guerrero [mailto:[EMAIL PROTECTED] > >>> Sent: Wednesday, November 28, 2007 12:15 PM > >>> To: [email protected] > >>> Subject: Re: How to parse using DOM > >>> > >>> Alberto, > >>> Thanks again. Everything worked fine. > >>> > >>> By the way, as I use getNodeValue and getNodeName to process and > assign > >>> them > >>> to my C++ structures I need to parse the XMLCh* returned value to > >>> String^ > >>> buy I couldn't find any way to do it. Any idea? > >>> > >>> Jesse, > >>> That's a good question..xD. There are many reasons why I am trying to > >>> use > >>> Xerces in order to parse and create XML files. Maybe you'll find them > >>> stupid. > >>> > >>> Firstly, I am an absolute newbie with C++ as with Xerces (as you have > >>> already realized). So, I did no research on XML classes offered by the > >>> .NET > >>> framework as I didn't know them. > >>> Secondly, I am developing an application based on a previous version > >>> which > >>> was developed by another person, who based his app on Xerces to parse > >>> XML > >>> files. The problem is that his design didn't take into account > creating > >>> or > >>> writing on XML files, only parsing and reading, so he used the SAX > API. > >>> Then, I had to switch from SAX to DOM and facing all the problems it > >>> implies > >>> (creating a NEW app). > >>> Thirdly, I thought I could find some help if I based my design on a > open > >>> source solution like Xerces is, and here it is. > >>> > >>> Then, if you tell me that it is worth for me working with the > System:XML > >>> files, then I would think about it..haha. But then, what is Xerces for > >>> if > >>> everybody can manage their XML files with these classes? > >>> > >>> Cheers, > >>> Javi > >>> > >>> 2007/11/28, Jesse Pelton <[EMAIL PROTECTED]>: > >>> > >>>> Just out of curiosity, if you're using managed code, why aren't you > >>>> > >>> using > >>> > >>>> the System.XML classes? > >>>> > >>>> -----Original Message----- > >>>> From: Javier Gálvez Guerrero [mailto:[EMAIL PROTECTED] > >>>> Sent: Wednesday, November 28, 2007 11:03 AM > >>>> To: [email protected] > >>>> Subject: Re: How to parse using DOM > >>>> > >>>> Hi there. > >>>> > >>>> Now I can compile the source code file where I have implemented (or > >>>> > >>> tried > >>> > >>>> it...) the DOM parser, some errors have appeared. As they seem quite > >>>> simple > >>>> I hope you could help me again: > >>>> > >>>> The method in file.cpp is like this (I have followed the guidelines > >>>> < http://xerces.apache.org/xerces-c/program-dom.html>on Xerces site, > >>>> > >>> except > >>> > >>>> for the exception treatment...): > >>>> > >>>> void contents_manager::load_guide(String^ xml_path){ > >>>> > >>>> XMLPlatformUtils::Initialize(); > >>>> XercesDOMParser* parser = new XercesDOMParser(); > >>>> > >>>> parser->parse(xml_path); > >>>> DOMNode* root = parser->getDocument(); //child_aux1 will be the > >>>> > >>> first > >>> > >>>> child of root > >>>> DOMNode* child_aux1, child_aux2, child_aux3, child_aux4, > >>>> > >>> child_aux5, > >>> > >>>> child_aux6, child_aux7; // Compiling errors referring to this line > >>>> > >>>> //... > >>>> > >>>> In file.h this is included: > >>>> > >>>> #include "../include/gincludes.h" > >>>> #include "../content/content.h" > >>>> #include <xercesc/dom/DOM.hpp> > >>>> #include <xercesc/dom/DOMImplementation.hpp> > >>>> #include <xercesc/dom/DOMImplementationLS.hpp> > >>>> #include <xercesc/dom/DOMWriter.hpp> > >>>> #include <xercesc/util/PlatformUtils.hpp> > >>>> #include <xercesc/parsers/XercesDOMParser.hpp> > >>>> #include <xercesc/dom/DOM.hpp> > >>>> #include <xercesc/util/XMLString.hpp> > >>>> #include <xercesc/util/PlatformUtils.hpp> > >>>> > >>>> using namespace System; > >>>> > >>>> XERCES_CPP_NAMESPACE_USE > >>>> > >>>> // class definition... > >>>> > >>>> Then, when compiling a lot of errors appear saying that it can not be > >>>> > >>> done > >>> > >>>> as I am working with abstracts, referring to the previous red line... > >>>> > >>>> 1>.\contents_manager.cpp(17) : error C2259: xercesc_2_8::DOMNode' : > no > >>>> > >>> se > >>> > >>>> puede crear una instancia de una clase abstract > >>>> 1> debido a los siguientes miembros: > >>>> 1> 'const XMLCh *xercesc_2_8::DOMNode::getNodeName(void) > const' > >>>> > >>> : > >>> > >>>> es > >>>> abstracto > >>>> 1> D:\Ser teleco > >>>> > >>>> > >>>> > >>> > mola\IPTV\Aplicación\Desarrollo\dIPTV\xercesc_2_8_0\include\xercesc/dom/DOMNode.hpp(246) > >>> > >>>> : vea la declaración de 'xercesc_2_8::DOMNode::getNodeName' > >>>> 1> 'const XMLCh *xercesc_2_8::DOMNode::getNodeValue(void) > >>>> > >>> const' : > >>> > >>>> es > >>>> abstracto > >>>> 1> D:\Ser teleco > >>>> > >>>> > >>>> > >>> > mola\IPTV\Aplicación\Desarrollo\dIPTV\xercesc_2_8_0\include\xercesc/dom/DOMNode.hpp(255) > >>> > >>>> : vea la declaración de 'xercesc_2_8::DOMNode::getNodeValue' > >>>> 1> 'short xercesc_2_8::DOMNode::getNodeType(void) const' : es > >>>> abstracto > >>>> ... > >>>> > >>>> Any idea of what I need to do regarding this error? > >>>> > >>>> > >>>> By the way, as you may have seen on the arguments of my method, the > >>>> name/path of the XML file is received with String^ type, so, as I > need > >>>> > >>> to > >>> > >>>> have a char* as an argument for parse->parse(file_name), how can I > >>>> > >>> parse > >>> > >>>> it? > >>>> > >>>> Thank you very much, > >>>> > >>>> Javi > >>>> > >>>> > >>>> > >>>> > >>>> 2007/11/28, Sven Bauhan <[EMAIL PROTECTED]>: > >>>> > >>>>>> This is not true. std::string and UTF-8 are fully compatible, as > >>>>>> > >>> long > >>> > >>>>> as > >>>>> > >>>>>> you make no assumptions about chopping things up at arbitrary > >>>>>> > >>> indices, > >>> > >>>>> or > >>>>> > >>>>>> the relationship of Unicode code points and UTF-8 code units. At > >>>>>> > >>> any > >>> > >>>>> rate, > >>>>> > >>>>>> with a double-byte or multi-byte locale code page, you'd have the > >>>>>> > >>> same > >>> > >>>>>> issues. > >>>>>> > >>>>>> > >>>>> I do not really understand what you want to say here. As far as I > >>>>> > >>> know > >>> > >>>>> std::string stores strings in single byte units. In UTF-8 the units > >>>>> > >>> have > >>> > >>>>> variable length between 1 and 4 bytes. So I cannot see a match here. > >>>>> I thought to use UTF-8 with the STL you need something like > >>>>> std::basic_string<UTFChar>. > >>>>> > >>>>> Could you tell me, how to transcode the XMLChar* correctly using > >>>>> > >>> UTF-8? > >>> > >>>>> Sven > >>>>> > >>>>> > >> > >> > > > > > >
