Hi Matthias,
you should check that the option 'Treat wchar_t as built-in type' (found in the project properties -> C/C++ -> Language) has the same value for both the XercesLib project and the project of the executable that uses Xerces. Also, your project should list the Xerecs library in the Linker section (xerces-c_2.lib for Release builds, xerces-c_2D.lib for debug builds)

Hope this helps,
Alberto

At 18.04 15/08/2006 +0200, Matthias Wippich - Privat wrote:
Hi!

At first, I'm from Germany. Please be gentle if my English is not as good as yours. ;)

This is the situation I'm in right now:
Building the Xerces (-all) project for my Visual Studio .NET 2003 IDE (7.1) was successful.
In Extras -> Options -> Projects I set the VC++ folders for:
- executables (the Debug folder - where the DLL is)
- includes (the xerces-c-src_2_7_0\src folder)
- references or links (AGAIN the Debug folder - where the LIB is)
- libraries (AGAIN the Debug folder - where the LIB is)
- sources (AGAIN the xerces-c-src_2_7_0\src folder)
I hope that these folder setting are correct.
The Xerces build instructions don't mention all of these settings and where they can be found in VS. :(

Then I went on and wrote some code but got some Xerces-related errors during compiling my stuff.

I remembered that there were some example projects, so I tried to compile one that's called SAX2Count.
And here's the most recent (German) error listing:

BEGIN LISTING.

------ Neues Erstellen gestartet: Projekt: SAX2Count, Konfiguration: Debug Win32 ------

Die Zwischen- und Ausgabedateien für das Projekt "SAX2Count" mit der Konfiguration "Debug|Win32" werden gelöscht.
Kompilieren...
SAX2CountHandlers.cpp
r:\Xerces-Source\xerces-c-src_2_7_0\src\xercesc\internal\XSerializeEngine.hpp(818) : warning C4244: 'return': Konvertierung von
'__w64 int' in 'unsigned long', möglicher Datenverlust
r:\Xerces-Source\xerces-c-src_2_7_0\src\xercesc\internal\XMLScanner.hpp(1292) : warning C4267: 'Argument': Konvertierung von
'size_t' nach 'const unsigned int', Datenverlust möglich
SAX2Count.cpp
r:\Xerces-Source\xerces-c-src_2_7_0\src\xercesc\internal\XSerializeEngine.hpp(818) : warning C4244: 'return': Konvertierung von
'__w64 int' in 'unsigned long', möglicher Datenverlust
r:\Xerces-Source\xerces-c-src_2_7_0\src\xercesc\internal\XMLScanner.hpp(1292) : warning C4267: 'Argument': Konvertierung von
'size_t' nach 'const unsigned int', Datenverlust möglich
Code wird generiert...
Verknüpfen...
SAX2Count.obj : error LNK2019: Nicht aufgelöstes externes Symbol '"__declspec(dllimport) public: static void __cdecl xercesc_2_7::XMLPlatformUtils::Terminate(void)" ([EMAIL PROTECTED]@xercesc_2_7@@SAXXZ)', verwiesen in Funktion
'__catch$_main$0'
SAX2Count.obj : error LNK2019: Nicht aufgelöstes externes Symbol '"__declspec(dllimport) public: static unsigned long __cdecl xercesc_2_7::XMLPlatformUtils::getCurrentMillis(void)" ([EMAIL PROTECTED]@xercesc_2_7@@SAKXZ)', verwiesen in
Funktion '__catch$_main$0'
SAX2Count.obj : error LNK2001: Nichtaufgelöstes externes Symbol "__declspec(dllimport) public: static unsigned short const * const xercesc_2_7::XMLUni::fgXercesDynamic" ([EMAIL PROTECTED]@xercesc_2_7@@2QBGB) SAX2Count.obj : error LNK2001: Nichtaufgelöstes externes Symbol "__declspec(dllimport) public: static unsigned short const * const xercesc_2_7::XMLUni::fgSAX2CoreValidation" ([EMAIL PROTECTED]@xercesc_2_7@@2QBGB)
[...]
SAX2CountHandlers.obj : error LNK2001: Nichtaufgelöstes externes Symbol "__declspec(dllimport) public: static void __cdecl xercesc_2_7::XMLString::release(char * *)" ([EMAIL PROTECTED]@xercesc_2_7@@[EMAIL PROTECTED]) SAX2CountHandlers.obj : error LNK2001: Nichtaufgelöstes externes Symbol "public: virtual void __thiscall xercesc_2_7::DefaultHandler::externalEntityDecl(unsigned short const * const,unsigned short const * const,unsigned short const *
const)" ([EMAIL PROTECTED]@xercesc_2_7@@[EMAIL PROTECTED])
[...]
SAX2CountHandlers.obj : error LNK2019: Nicht aufgelöstes externes Symbol '"__declspec(dllimport) public: __thiscall xercesc_2_7::DefaultHandler::DefaultHandler(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED])', verwiesen in Funktion '"public: __thiscall SAX2CountHandlers::SAX2CountHandlers(void)" (??0SAX2CountHandlers@@[EMAIL PROTECTED])' SAX2CountHandlers.obj : error LNK2019: Nicht aufgelöstes externes Symbol '"__declspec(dllimport) public: virtual __thiscall xercesc_2_7::DefaultHandler::~DefaultHandler(void)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED])', verwiesen in Funktion '"public: virtual __thiscall SAX2CountHandlers::~SAX2CountHandlers(void)" (??1SAX2CountHandlers@@[EMAIL PROTECTED])'
[...]

Debug/SAX2Count.exe : fatal error LNK1120: 45 unaufgelöste externe Verweise

Das Build-Protokoll wurde unter "file://d:\matty79m\Programmdaten\VisualStudio\SAX2Count\Debug\BuildLog.htm" gespeichert.
SAX2Count - 48 Fehler, 4 Warnung(en)

---------------------- Fertig ----------------------
Neues Erstellen: 0 erfolgreich, 1 fehlgeschlagen, 0 übersprungen

END LISTING.

I read a lot of threads but none seems to fit to my problem.
There is a thread with a quite similar error listing and the reason was that headers were compiled as a consequence of a wrong value in the registry. Unfortunately, that's not the solution to my problem. At least that's what my registry settings say...

To me, it looks as if there's something with "unsigned short const * const".
What shall I do to avoid these errors and warnings?
Please answer as detailed as you can because I'm new to C++, Visual Studio, and Xerces.

Thank you.
:) Matty

Reply via email to