Externe Bibliothek mit C einbinden

  • Themenstarter Themenstarter 01
  • Beginndatum Beginndatum
Hallo, ich gebe zu es ist bestimmt ein totales Anfängerproblem aber da ich auf dem Desktop noch nie so richtig mit C gearbeitet habe scheiter ich daran :(

Ich möchte eine externe Bibliothek nutzen und zwar libxml2, die auch einiges an Abhängigkeiten hat.

Ich nutze unter Windows Eclipse+CDT und weiß nun nicht wirklich was alles wie einzubinden ist.

Als erstes habe ich natürlich den /include Header Ordner von libxml2 als Library Verzeichnis dem Linker in den Projekteigenschaften bekannt gegeben. Aber trotzdem kennt Eclipse und auch MINGW die XML Funktionen nicht.
Was muss ich mit den Object Dateien machen?

Habt ihr da vlt. eine gute Anleitung?
 
Du musst die entsprechenden header files einbinden, damit der Compiler die Funktions- und Klassendefinitionen kennt.
Und dann musst du gegen die entsprechenden Librarys linken, damit der Linker die Bibliothek linken kann.
 
ok nur wie/wo mache ih das in Eclipse CDT?

Hmm also durch die Header kann Eclipse mir Code vervollständigen und der Linker weiß, dass da noch was kommt. Dann werden die .a Libs miteingelinkt, da braucht man doch die DLLs eigentlich garnicht mehr oder? Bissel komisch das alles oO
 
Ich habe noch nicht mit Eclipse und C gearbeitet, deswegen kann ich dazu nichts sagen, aber ich wette da gibt es im Internet eine Anleitung zu.

Durch die *.a weiß der Linker, "wo er den Code" finden kann.
Durch die header Datei weiß er, "dass es ihn gibt".

Du kannst ja mal versuchen eine Funktion nur zu deklarieren, ohne sie zu definieren. Das sollte einen ähnlichen Fehler geben, als wenn du nicht gegen die library links.

Die *.dll/*.so braucht das Programm erst zur Laufzeit.
 
Zurück
Oben