Xerces C++ unter QT 3.0.1 und Win7

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Perhalo
Beiträge: 2
Registriert: 21. Februar 2014 14:34

Xerces C++ unter QT 3.0.1 und Win7

Beitrag von Perhalo »

Hi,

ich versuche in der Uni bei einem Projekt den Xerces C++ XML Parser zu verwenden. Leider stoße ich beim kompilieren des Testprogramms auf diverse Linkerprobleme, die ich einfach auch trotz vieler Anstrengungen nicht gelöst bekomme.

Code: Alles auswählen

QT       += core

QT       -= gui

TARGET = Parser_test
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

INCLUDEPATH += C:/Xerces/xerces-c-3.1.1/src

LIBS += -L$$PWD/../../../Xerces/xerces-c-3.1.1/src/.libs/ -l xerces-c

Code: Alles auswählen

#include <QCoreApplication>
#include <stdio.h>
#include <xercesc\util\PlatformUtils.hpp>

using namespace xercesc;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    try {
      XMLPlatformUtils::Initialize();
    }
    catch (const XMLException& toCatch) {
      // Do your failure processing here
      return 1;
    }

    // Do your actual work with Xerces-C++ here.

    XMLPlatformUtils::Terminate();

    return a.exec();
}

Fehler:

Code: Alles auswählen

12:06:31: Führe Schritte für Projekt Parser_test aus...
12:06:31: Unveränderte Konfiguration, qmake-Schritt wird übersprungen.
12:06:31: Starte "C:\Qt\Tools\mingw48_32\bin\mingw32-make.exe" 
C:\Qt\5.2.1\mingw48_32\bin\qmake.exe -spec win32-g++ CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug -o Makefile ..\Parser_test\Parser_test.pro
C:/Qt/Tools/mingw48_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Users/sittel/build-Parser_test-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
g++ -Wl,-subsystem,console -mthreads -o debug\Parser_test.exe debug/main.o  -LC:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs/ -l xerces-c -LC:\Qt\5.2.1\mingw48_32\lib -lQt5Cored 
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DefaultPanicHandler.o): In function `ZN11xercesc_3_119DefaultPanicHandler5panicENS_12PanicHandler12PanicReasonsE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/DefaultPanicHandler.cpp:35: undefined reference to `__getreent'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XMemory.o): In function `ZN11xercesc_3_17XMemorynwEjPNS_13MemoryManagerE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMemory.cpp:63: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XMemory.o): In function `ZN11xercesc_3_17XMemorydlEPv':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMemory.cpp:88: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XMemory.o): In function `ZN11xercesc_3_17XMemorydlEPvPNS_13MemoryManagerE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMemory.cpp:98: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XMLString.o): In function `ZN11xercesc_3_19XMLString9textToBinEPKwRjPNS_13MemoryManagerE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMLString.cpp:1419: undefined reference to `__errno'
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMLString.cpp:1433: undefined reference to `__errno'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XMLString.o): In function `ZN11xercesc_3_19XMLString8parseIntEPKwPNS_13MemoryManagerE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMLString.cpp:1455: undefined reference to `__errno'
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMLString.cpp:1468: undefined reference to `__errno'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(IconvTransService.o): In function `ZN11xercesc_3_118IconvLCPTranscoder16calcRequiredSizeEPKcPNS_13MemoryManagerE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/Transcoders/Iconv/IconvTransService.cpp:238: undefined reference to `__locale_mb_cur_max'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(PosixFileMgr.o): In function `ZN11xercesc_3_112PosixFileMgr11getFullPathEPKwPNS_13MemoryManagerE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/FileManagers/PosixFileMgr.cpp:193: undefined reference to `realpath'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMDocumentImpl.o): In function `ZN11xercesc_3_119RefHash2KeysTableOfINS_10KeyRefPairIvNS_18DOMUserDataHandlerEEENS_9PtrHasherEE14findBucketElemEPKviRj':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:447: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMDocumentImpl.o): In function `ZN11xercesc_3_119RefHash2KeysTableOfINS_10KeyRefPairIvNS_18DOMUserDataHandlerEEENS_9PtrHasherEE9removeKeyEPKvi':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:153: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMDocumentImpl.o): In function `ZN11xercesc_3_119RefHash2KeysTableOfINS_10KeyRefPairIvNS_18DOMUserDataHandlerEEENS_9PtrHasherEE9removeKeyEPKv':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:205: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMDocumentImpl.o): In function `ZN11xercesc_3_119RefHash2KeysTableOfINS_10KeyRefPairIvNS_18DOMUserDataHandlerEEENS_9PtrHasherEE15transferElementEPKvPv':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:295: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMDocumentImpl.o): In function `ZN11xercesc_3_119DOMDeepNodeListPoolINS_19DOMDeepNodeListImplENS_9PtrHasherEE14findBucketElemEPKvPKwS7_Rj':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/dom/impl/DOMDeepNodeListPool.c:363: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMDocumentImpl.o):/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:511: more undefined references to `__assert_func' follow
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XSValue.o): In function `ZN11xercesc_3_17XSValue21getActualNumericValueEPKwRNS0_6StatusERNS0_7t_valueEPNS_13MemoryManagerENS0_8DataTypeE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/framework/psvi/XSValue.cpp:1569: undefined reference to `__errno'
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/framework/psvi/XSValue.cpp:1606: undefined reference to `__errno'
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/framework/psvi/XSValue.cpp:1662: undefined reference to `__errno'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XSValue.o): In function `ZN11xercesc_3_116ValueHashTableOfINS_7XSValue8DataTypeENS_12StringHasherEE14findBucketElemEPKvRj':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/ValueHashTableOf.c:276: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XSValue.o): In function `ZN11xercesc_3_116ValueHashTableOfINS_7XSValue8DataTypeENS_12StringHasherEE6rehashEv':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/ValueHashTableOf.c:246: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(ComplexTypeInfo.o): In function `ZN11xercesc_3_119RefHash2KeysTableOfINS_12SchemaAttDefENS_12StringHasherEE6rehashEv':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:511: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(ComplexTypeInfo.o): In function `ZN11xercesc_3_119RefHash2KeysTableOfINS_12SchemaAttDefENS_12StringHasherEE14findBucketElemEPKviRj':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:447: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMNodeImpl.o): In function `ZNK11xercesc_3_111DOMNodeImpl16getOwnerDocumentEv':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/dom/impl/DOMNodeImpl.cpp:172: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMNodeImpl.o):/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/dom/impl/DOMNodeImpl.cpp:165: more undefined references to `__assert_func' follow
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(UnixHTTPURLInputStream.o): In function `ZN11xercesc_3_122UnixHTTPURLInputStreamD2Ev':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:251: undefined reference to `shutdown'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(UnixHTTPURLInputStream.o): In function `ZN11xercesc_3_122UnixHTTPURLInputStream4sendEPKcj':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:261: undefined reference to `send'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(UnixHTTPURLInputStream.o): In function `ZN11xercesc_3_122UnixHTTPURLInputStream7receiveEPcj':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:271: undefined reference to `recv'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(UnixHTTPURLInputStream.o): In function `ZN11xercesc_3_122UnixHTTPURLInputStreamC2ERKNS_6XMLURLEPKNS_14XMLNetHTTPInfoE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:135: undefined reference to `getaddrinfo'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(UnixHTTPURLInputStream.o): In function `ZN11xercesc_3_113SocketJanitor5resetEPi':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:70: undefined reference to `shutdown'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(UnixHTTPURLInputStream.o): In function `ZN11xercesc_3_122UnixHTTPURLInputStreamC2ERKNS_6XMLURLEPKNS_14XMLNetHTTPInfoE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:146: undefined reference to `socket'
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:150: undefined reference to `connect'
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:158: undefined reference to `freeaddrinfo'
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:139: undefined reference to `getaddrinfo'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(UnixHTTPURLInputStream.o): In function `ZN11xercesc_3_113SocketJanitor5resetEPi':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:70: undefined reference to `shutdown'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(UnixHTTPURLInputStream.o): In function `ZN11xercesc_3_122UnixHTTPURLInputStreamC2ERKNS_6XMLURLEPKNS_14XMLNetHTTPInfoE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/NetAccessors/Socket/UnixHTTPURLInputStream.cpp:152: undefined reference to `freeaddrinfo'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMTypeInfoImpl.o): In function `ZNK11xercesc_3_115DOMTypeInfoImpl18getNumericPropertyENS_15DOMPSVITypeInfo12PSVIPropertyE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp:150: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMTypeInfoImpl.o): In function `ZN11xercesc_3_115DOMTypeInfoImpl18setNumericPropertyENS_15DOMPSVITypeInfo12PSVIPropertyEi':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp:178: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMTypeInfoImpl.o): In function `ZNK11xercesc_3_115DOMTypeInfoImpl17getStringPropertyENS_15DOMPSVITypeInfo12PSVIPropertyE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp:135: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMTypeInfoImpl.o): In function `ZN11xercesc_3_115DOMTypeInfoImpl17setStringPropertyENS_15DOMPSVITypeInfo12PSVIPropertyEPKw':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/dom/impl/DOMTypeInfoImpl.cpp:164: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(StringPool.o): In function `ZN11xercesc_3_113XMLStringPool9serializeERNS_16XSerializeEngineE':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/StringPool.cpp:158: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(ReaderMgr.o):/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/internal/ReaderMgr.cpp:443: more undefined references to `__assert_func' follow
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XMLAbstractDoubleFloat.o): In function `ZN11xercesc_3_122XMLAbstractDoubleFloat7convertEPc':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMLAbstractDoubleFloat.cpp:451: undefined reference to `__errno'
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMLAbstractDoubleFloat.cpp:462: undefined reference to `__errno'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(XMLDateTime.o): In function `ZNK11xercesc_3_111XMLDateTime10fillStringERPwij':
/cygdrive/c/xerces/xerces-c-3.1.1/src/xercesc/util/XMLDateTime.cpp:1774: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(SchemaAttDefList.o): In function `ZN11xercesc_3_119RefHash2KeysTableOfINS_12SchemaAttDefENS_12StringHasherEE14findBucketElemEPKviRj':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:447: undefined reference to `__assert_func'
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/RefHash2KeysTableOf.c:447: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMLSParserImpl.o): In function `ZNK11xercesc_3_116ValueHashTableOfINS_17DOMLSParserFilter12FilterActionENS_9PtrHasherEE14findBucketElemEPKvRj':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/ValueHashTableOf.c:296: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMLSParserImpl.o): In function `ZNK11xercesc_3_116ValueHashTableOfIjNS_12StringHasherEE11containsKeyEPKv':
/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/ValueHashTableOf.c:296: undefined reference to `__assert_func'
C:/Users/sittel/Parser_test/../../../Xerces/xerces-c-3.1.1/src/.libs//libxerces-c.a(DOMLSParserImpl.o):/cygdrive/c/xerces/xerces-c-3.1.1/src/./xercesc/util/ValueHashTableOf.c:296: more undefined references to `__assert_func' follow
collect2.exe: error: ld returned 1 exit status
Makefile.Debug:77: recipe for target 'debug\Parser_test.exe' failed
mingw32-make[1]: *** [debug\Parser_test.exe] Error 1
mingw32-make[1]: Leaving directory 'C:/Users/sittel/build-Parser_test-Desktop_Qt_5_2_1_MinGW_32bit-Debug'
makefile:34: recipe for target 'debug' failed
mingw32-make: *** [debug] Error 2
12:06:35: Der Prozess "C:\Qt\Tools\mingw48_32\bin\mingw32-make.exe" wurde mit dem Rückgabewert 2 beendet.
Fehler beim Erstellen/Deployment des Projekts Parser_test(Kit: Desktop Qt 5.2.1 MinGW 32bit)
Bei der Ausführung von Schritt 'Make'
Bin über jede Hilfe dankbar :-)

Grüße
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Xerces C++ unter QT 3.0.1 und Win7

Beitrag von Christian81 »

Da dies nichts mit Qt zu tun hat -> C++ Grundlagen.
Eine (google)Suche nach der fehlenden Funktion hilft ggf. - hast Du xerces selbst gebaut oder wo kommt die Library her?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Perhalo
Beiträge: 2
Registriert: 21. Februar 2014 14:34

Re: Xerces C++ unter QT 3.0.1 und Win7

Beitrag von Perhalo »

Hallo,

diese Fehler habe ich schon länger über google gesucht und immer wieder andere und mich nicht weiterbringende Lösungen gefunden.

Ich hab den Source-Code von Xerces der Seite geladen und über cygwin mit configure und make erstellt.

Mir würde auch schon helfen, wenn mir jemand sagen könnte wo die Fehler herkommen, falls man das so einfach sehen kann. Dann könnte ich besser nach einer Lösung suchen.

Grüße
dazedly
Beiträge: 197
Registriert: 3. Oktober 2010 15:38
Kontaktdaten:

Re: Xerces C++ unter QT 3.0.1 und Win7

Beitrag von dazedly »

Sieht so aus, als würdest du nicht gegen die benutzte lib linken.
Antworten