Makefile & uninstalled Library
-
Hallo,
bei der Anpassung eines Programmes muss ich eine Bibliothek verwenden, die nicht installiert ist.
Die Header-Dateien dieser Bib stehen unter: home/cpplinux/MeineBib/Header_Files
Die Bib steht unter: home/cpplinux/Meinebib/lib/MeineBib.aWas muss ich in mein Makefile hinfügen, damit diese Bibliothek vom Compiler anerkannt wird? darf ich die -L und -l auch für uninstalled libraries verwenden?
Ich möchte meine Bib nach der folgenden installierten Bib im mein Makefile hinfügen
GRAPH_dir = /opt/SIMON/GRAPH/latest GRAPH_includedir = $(GRAPH_dir)/include GRAPH_libdir = $(GRAPH_dir)/lib GRAPH_include = -I$(GRAPH_includedir) GRAPH_ldflags = -L$(GRAPH_libdir) GRAPH_ldadd = -lGRAPHGUI
Danke im Voraus,
CL
-
wie "nicht" installiert? Sie sind doch bei dir vorhanden??
Mit -I kannst du dem Compiler sagen, wo die Header sich befinden und mit -L wo die Library sich befindet. Ersteres kommt in die CFLAGS/CXXFLAGS und letzteres in die LIBS oder LDFLAGS.
-
@Rüdiger ---->
Also, im GNU Make Tutorial wird von installed und uninstalled Libraries geredet.
Ich glaube bei installed sind die Bibs gemeint, die in einem Standard-Ordner stehen (z.B usr/lib).Du meinst ich soll das dann so machen:
MeineBib_dir = /home/cpplinux/MeineBib/ MeineBib_includedir = $(MeineBib_dir)/Header_Files MeineBib_libdir = $(MeineBib_dir)/lib MeineBib_include = -I$(MeineBib_includedir) MeineBib_ldflags = -L$(MeineBib_libdir) MeineBib_ldadd = -lMeineBib #------------------------------------------------------------ # Compiler and compilter options #------------------------------------------------------------ CC = /opt/SIMON/gcc-4.0.2/bin/g++ CC_flags = -g3 -Wall -Wno-deprecated CC_include = $(GRAPH_include)[b]$(MeineBib_include)[/b] CC_ldflags = $(GRAPH_ldflags)[b]$(MeineBib_ldflags)[/b] CC_ldadd = $(GRAPH_ldadd)[b]$(MeineBib_ldadd)[/b]
Das hat aber so nicht funktioniert. Ich kriege die folgende Fehlermeldung
usr/bin/ld: cannot find -lMeineBib