Mit Bibliothek-Pfade in makefiles
Ich geschrieben habe, ein makefile wie dieses:
HEADER = -I./cygdrive/c/cpros/kajj/source4
LIBB = -L./cygdrive/c/cpros/kajj/source1 -L./cygdrive/c/cpros/kajj/source2
LIBRA = -larith -ldekk
target : game.o
gcc $(HEADER) $(LIBB) $< -o $@ $(LIBRA)
game.o : game.c
gcc -c game.c
Ich habe meine eigene statische Bibliothek und die header-Datei Pfad und library-Pfad. Wann führe ich mein makefile gibt es eine Fehlermeldung, dass
/usr/lib/gcc
nicht finden -larith -ldekk
.
Es verweist auf das lib/- Verzeichnis, aber es ist nicht vorbei es: -ldekk
und -larith
sind in source1 und source2-Dateien bzw..
So beheben Sie diesen Fehler?
InformationsquelleAutor karthik | 2011-06-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Statt
-L./cygdrive/c
verwenden-L/cygdrive/c
. Der Punkt macht den library-Pfad relativ vom aktuellen Verzeichnis, d.h. es wird nach einemcygdrive
Unterordner des aktuellen Ordners anstelle von Laufwerk C:.tamas können Sie mir sagen, die Art und Weise zu erstellen, eine Bibliothek, eine statische Bibliothek in makefiles möchte ich eine Bibliothek mit Namen wie gola.eine und die .o Dateien sind gohh.o hola.o so etwas wie, dass ich möchte, dass erstellt werden, aber mit dem makefile, wie Sie schreiben, dass der code zum erstellen einer library-Datei könnten Sie mir bitte sagen, in form von makefile
Bitte Fragen Sie es in einer anderen Frage auf Stack Overflow und jemanden (vielleicht mich) zu beantworten gibt. Es ist am besten halten Sie einen thread für eine bestimmte Frage.
Was passiert, wenn die Bibliothek in einem ganz anderen Pfad? Kann ich so etwas schreiben -L~/foo1/foo2/ vielen Dank
Fand ich eine gute Antwort hier. Erklären Sie auch den Unterschied, in einer makefile -, zwischen -l und -L stackoverflow.com/questions/519342/...
InformationsquelleAutor Tamás