Externe Lib einbinden - Startschwierigkeiten
-
Servus,
ich will zum ersten Mal eine Lib nutzen, die so unter Linux nicht direkt im Repository liegt. Wie muss ich dabei vorgehen? Ich nutze netbeans als IDE und Ubuntu als Betriebssystem, die Anleitung zur Installation der Lib liegt hier:
http://trac.mi.fu-berlin.de/seqan/wiki/HowTo/UseSeqAnInYourProjectsDanke vorab, steh voll auf dem Schlauch!
-
Sodala,
ich habe schon etwas weiter geschaut und ein einfacher und logischer Schritt scheint es zu sein, die Bibliothek 'statisch' zu linken. Die Tutorials, die ich dazu fand, halfen mir bis dato nicht - hat da jemand einen brauchbaren Link, der mir den Transfer auf die Seqan-Lib ermöglicht?
Danke vorab.
-
Bin wieder etwas weiter gekommen und auf folgende Threads gestoßen - vielleicht ist das dynamische Einbinden zur Laufzeit doch geschickter. Ich stieß schnell auf die Begriffe des Library Paths und des include Verzeichnisses. Bei den statischen Bibliotheksmodulen soll ich nach .a-Dateien Ausschau halten, bei dynamischen Modulen nach .so-Dateien (Linux) oder nach .dll-Dateien (Windows).
Im schlauen Buch (Breymann, Der C++-Programmierer) steht, dass ich einfach das dynamische Bibliotheksmodul via Umgebungsvariable zur Laufzeit einhänge, das geht mit 'export LD_LIBRARY_PATH=undsoweiter'. Umgebungsvariablen kann man in Netbeans über das Projekt -> Eigenschaften -> Run -> Umgebungsvariablen angeben.
In der von mir zur Verwendung beabsichtigte Sequan-Bibliothek steht in der Readme-Datei aber dass ich den include-Pfad anpassen soll. Oh, das klingt für mich aber nach Nichtruntime, sondern eher nach Kompilier- oder Linkzeit.
Wie kann ich das nun bei Seqan oder einer anderen Bibliothek sehen, in welchem Zustand diese vorliegt oder kann ich mir sicher sein, dass wenn ich keine .a, .so, oder dll-Datei finde, dass ich immer kompilieren muss?
Was mach ich nun am besten?
(Ich hoffe ich erhalte noch eine Antwort - bis dahin probiere ich weiter wild rum)
-
Okay, habe geschafft das Hello World ans Laufen zu erhalten.
Es gibt auf der Website die Beschreibung wie man CMake ausführt. Das macht man, dann gibt man den Seqan-Release-Ordner beim C++-Compiler in den Project-Properties an, dann sollte es schon klappen. Nicht verwirren lassen, falls das rote Ausrufezeichen für einen Fehler erscheint, der war bei mir dann nach dem Build-Prozess weg. README-Datei und Getting-Started-Guide auf der Seqan-Website waren dann doch ausreichend, nachdem ich den Umgang der für mich neuen Standardtools gedeichselt hatte.