2017-06-02 8 views
1

Ich versuche, eine statische Bibliothek basierend auf hierarchischen Matrizen (H2Lib) zu importieren. Der Ordner enthält eine make-Datei, die die Bibliotheksdateien, Beispiele und Tests in eine einzige .a Datei kompiliert. Ich habe auf Tutorials zum Erstellen und Verwenden von statischen Bibliotheken in C unter Verwendung der Archivierungsbefehlszeile in Linux verwiesen, aber dies erzeugt keine Headerdatei, die ich manuell erstellen musste, während ich das Tutorial entwickelte. Die H2Lib hat mehrere Dateien und es wäre schwierig und zeitaufwändig, dafür manuell eine Header-Datei zu erstellen. Ich bin mir nicht sicher, ob ich hier etwas verpasse oder etwas falsch mache. Ich bin neu in dem Konzept der Bibliotheken in C. Kann jemand mir bitte helfen, wie man diese Bibliothek in C benutzt?Header-Datei der statischen Bibliothek

P. S: Git Repository Link für H2Lib: https://github.com/H2Lib/H2Lib/tree/master

+2

Die Header-Dateien existieren bereits. 'Library/* H- – Siguza

+0

manuell Header-Dateien erstellen? Ich bin der Frage nicht gefolgt. Sie haben die statische lib, * .a erstellt, und Sie erwarten, dass der Befehl ar die Headerdatei für Sie erstellt. Nein, es wird keine Header-Datei für Sie erstellen. – LethalProgrammer

+2

Sie müssen keine Header-Dateien erstellen. Verwende die von H2Lib. Kompiliere deinen Code mit '-I/path/to/H2Lib/Library' und dann' 'include' 'was auch immer' .h' Dateien du brauchst. – 0x5453

Antwort

1

Sie sind nicht den Header schreiben soll Dateien selbst. Irgendwo in dem Ordner, in dem die Bibliothek definiert ist, sollte es ein Verzeichnis mit mehreren .h-Dateien (die Header) geben (es heißt normalerweise include).

Was Sie tun müssen, ist sie in Ihr Projekt aufzunehmen. Sie tun dies, indem Sie -I an den Pfad jedes Ordners anfügen, der die Header enthält, und dann #include "headername.h" in Ihren Quellcode schreiben.

Also, wenn die Header in dir sind/sind, dann würden Sie tun:

gcc yourfiles.c <flags> output.o -I dir/include 
+0

Danke, es hat funktioniert! –

Verwandte Themen