libs einbinden - in welcher Reihenfolge? (Dev-C++)



  • Hallo,

    ich hab mehrere c-Programme vor mir und möchte daraus ein Projekt machen.
    Nun habe ich 2 Fragen:

    1.Da ich die Programme nicht selbst geschrieben hab, weiß ich leider nicht, welche Bibliotheken gebraucht werden. Gibt es eine Möglichkeit, mir sämtliche Bibliotheken ausgeben zu lassen, die das Programm benutzt? Es kann doch nicht sein, dass ich für jede Funktion in der .c-Datei und für alle anderen aus den Headern der include-Anweisungen nachschauen muss, woher die stammen?!!

    2. Wenn ich herausgefunden habe, welche Bibliotheken in der IDE eingebunden werden müssen, in welcher Reihenfolge muss das geschehen (es gibt ja unter den Projektoptionen erstens die Möglichkeit Pfade zu den Bibliotheken zu setzen und zweitens Bibliotheken einzubinden)?
    Der Compiler ist übrigens der gcc...

    Schon jetzt herzlichen Dank!



  • 1. Doch genauso ist es. Woher soll der Linker wissen welche Libs existieren und wo die sich befinden, wenn du ihm dies nicht mitteilst?
    2. Pfade alleine zu setzen hilft nicht viel. Diese Einstellung ist nur dazu gedacht, bei der Angabe der Libs die Pfadangabe weglassen zu können.



  • Erstmal vielen Dank!
    @ 1. Sag doch so was nicht! Gibt es nicht irgendeinen Trick oder einen Befehl, der mir zu jeder Funktion die Bibliothek ausspuckt, aus der sie stammt (so wie eine gute IDE mir auch zu jeder Funktion angeben kann, aus welcher Klasse sie stammt)?!

    @ 2. Nun gut, aber in welcher Reihenfolge muss ich sie dem Linker geben? (z.B. zuerst die Bibliotheken, die in Klassen benutzt werden, die nicht weiter vererben oder zuerst die Bibliotheken, die im Hauptprogramm gebraucht werden...; ich hab da leider keinen blassen Schimmer von)
    Die Reihenfolge scheint nämlich beim gcc nicht egal zu sein (sonst wird keine .exe erstellt...)

    Danke!



  • es werden doch nich sooo viele libs sein, die du da einbinden musst. Mach es so:

    kompiler und link, und guck dir eine funktion an, die der linker nicht findet. schau nach aus welcher lib und link die dazu.
    jetzt wieder linken und wieder eine funktionehmen die der linker nich findet. auf diese weise dauert es ncih sehr lange alle libs zu finden.
    weil ja auch eigentlihc immer mehrere funktionen in einer lib sind



  • 1. Gibt kein Trick. Manchmal muß der Programmierer noch was selbst machen...
    (Die Memberfunktionen einer Klasse anzuzeigen ist ein klein wenig einfacher als die Abhängigkeit zwischen zwei Libs festzustellen und selbst das kriegen die Entwicklungsumgebungen manchmal nicht hin...)
    2. Dann hast du doch keine Probleme... probiere alle Varianten durch und wenns funktioniert sei glücklich...



  • Schadeeeeee! Aber nun gut.

    Vielen Dank für die Info!


Anmelden zum Antworten