Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Hat jemand Ahnung vom einbinden von Bibliotheken

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
22.01.2004, 22:36 Uhr
~Ringostarr
Gast


Hi erstmal,

also, ich möchte gerne externe Bibliotheken einbinden. Da wäre zum beispiel die id3lib, falls die jemand kennen sollte und noch die Xerces-C Bibliothek. Mit Xerces-C kann man XML Dateien be- und verarbeiten, das möchte ich nämlich auch tun. Es wäre sehr hilfreich, wenn jemand dabei schon praktische Erfahrungen gesammelt hat! Ich habe diese Bibliotheken als Header-Dateien vorliegen und möchte die einbinden, aber schreibt immer irgendwelche Fehler hin.
Eventuelle weitere Infos gibts später.
Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.01.2004, 22:53 Uhr
virtual
Sexiest Bit alive
(Operator)


Ja, ich habe schon mit Xerces gearbeitet und externe Libraries binde ich auch oft ein (gibt es eigentlich "interne Libraries"?). Aber ich kann Dir ohne weitere Infos gewiss nicht helfen.
Es wäre günstiger, wenn Du gleich mit der Fehlermeldung rausrücken würdest. Aber ist ja Deine Wartezeit...
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.01.2004, 23:18 Uhr
~Ringostarr
Gast


Hi virtual,

Das finde ich schonmal sehr schön, dass du schon mit Xerces gearbeitet hast, also ich geb erstmal mein Programmbeispiel!

C++:
#include <xercesc/util/PlatformUtils.hpp>
#include <locale.h>
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
    // setzen des aktuellen Gebietsschemas
    setlocale(LC_ALL, NULL);

    // ...ausgenommen sind Ziffern
    setlocale(LC_NUMERIC, "C");

    try
    {
        xercesc::XMLPlatformUtils::Initialize();
    }
    catch(const xercesc::XMLException& c_roToCatch)
    {
        cout << "Fehler bei der Initialisierung: "
             << c_roToCatch.getMessage() << endl;
        return 1;
    };

    // Ab hier kann mit der Bibliothek gearbeitet werden.

    xercesc::XMLPlatformUtils::Terminate();

    return 0;
}


So, und jetzt die dazugehörige Fehlermeldung:

Code:
/tmp/ccmXC42A.o(.text+0x39): In function `main':
: undefined reference to `xercesc_2_3::XMLUni::fgXercescDefaultLocale'
/tmp/ccmXC42A.o(.text+0x3e): In function `main':
: undefined reference to `xercesc_2_3::XMLPlatformUtils::Initialize(char const*, char const*, xercesc_2_3::PanicHandler*, xercesc_2_3::MemoryManager*)'
/tmp/ccmXC42A.o(.text+0xd7): In function `main':
: undefined reference to `xercesc_2_3::XMLPlatformUtils::Terminate()'
/tmp/ccmXC42A.o(.gcc_except_table+0x20): undefined reference to `typeinfo for xercesc_2_3::XMLException'
collect2: ld returned 1 exit status



Ich hoffe, dass du damit was anfangen kannst und mir sagen kannst, wo da der Wurm drin ist
Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
22.01.2004, 23:25 Uhr
Pablo
Supertux
(Operator)


Welche -l und -L Optionen benutzt du?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.01.2004, 06:31 Uhr
(un)wissender
Niveauwart


Unwichtig, er linkt nicht.
Du musst die Xerxces lib mit deinem Programm linken.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.01.2004, 18:41 Uhr
~Ringostarr
Gast


Ja, genau ich linke nicht!
Aber ich versteh nicht wie ich Xerces-C mit meinem programm linken soll, oder warum? Sollte es nicht umgekehrt sein???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.01.2004, 18:44 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


du rufst anscheinend funktionen auf die der linker nicht kennt...
das sind vermutlich die aus der Xerces-bibliothek...
der linker gibt erst ruhe wenn du ihm z.b eine *.lib gibst in dem diese drinstehen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
23.01.2004, 22:42 Uhr
(un)wissender
Niveauwart


Umgekehrt?
Das Xerces mit deinem Programm gelinkt wird?
Äh, nein.
Xerces will ja nicht dein Progamm nutzen, sonder deines Xerces, also musst du linken.
Such die libs und trage die bei deinem Linker mit ein und alles ist in Butter.
Wie du das machst hängt von deiner IDE bzw. Compiler/Linker ab.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
25.01.2004, 13:27 Uhr
~Ringostarr
Gast


Ich rufe diese Funktionen nicht über den linker auf sondern über die header-dateien, die ich einbinde. Die Xerces-Bibliothek bringt keine *.lib dateien mit, sondern nur *.h oder *.hpp-dateien, die ich ja auch wie im beispiel gezeigt einbinde!
Du ((un)wissender) hast doch selbst gesagt: "Du musst die Xerxces lib mit deinem Programm linken."
Und nochmal, ich linke nicht über Compiler mit der -l Option sondern binde die Bibliothek über die header-dateien ein!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
26.01.2004, 06:36 Uhr
(un)wissender
Niveauwart


Du hast nie gesagt, das du die cpp-Dateinen hast!
Dann heißt es für dich also erstmal Xerces kompilieren, wie du das machst, keine Ahnung, das mit dem externe Programme kompilieren funktioniert meistens nur mit genauer Anleitung, vielleicht ist ja ein makefile dabei.
Mit .lib oder .a wäre es einfacher gewesen, hast die nicht doch irgendwo?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: