2017-06-27 11 views
1

Ich habe ein Makefile, das ich ändern muss, um den Pfad zu Bibliotheken zu enthalten. Ich versuche, Programm von jemand anderem zu mir gegeben zu laufen. Ich bin wirklich verwirrt darüber, wie das Makefile funktioniert und verstehe nicht, was die vorherigen Zeilen sind.So ändern Sie die Bibliothek in Makefile

Dies sind die Richtungen mir gegeben, um die Make-Datei zu ändern:

Ändern Sie die Zeilen: INCS = -I "../../ LIB/libpca/include"

LIBS = -L"../../LIB/libpca/build" -lpca -larmadillo 

in the Makefile to represent the folder where you installed the libpca and armadillo libraries. 

Jetzt ich jetzt, was meine neue Wege sind:

Desktop/PCA-CD/Bibliotheken

aber ich verstehe nicht, was ist, ist, dass ich wirklich ändern müssen.

Hier ist, was die Make-Datei wie folgt aussieht:

PROG = CD 

UNAME := $(shell uname) 

ifeq ($(UNAME), Darwin) 
CXX = clang++ -stdlib=libc++ 
else 
CXX = g++ 
endif 

FLAGS = -O0 -g3 -Wall -std=c++0x -pthread 

INCS = -I"../../LIB/libpca/include" 

LIBS = -L"../../LIB/libpca/build" -lpca -larmadillo 

SRCS = CD.cpp 

RM = rm -f 

all : 
    $(CXX) $(FLAGS) $(INCS) $(SRCS) $(LIBS) -o $(PROG) 
    # $(CXX) $(FLAGS) $(SRCS) -o $(PROG) 

clean : 
    $(RM) $(PROG) 

Vielen Dank für jede Hilfe.

Antwort

0

Ich glaube, sie was auf die Linie zu ändern:

INCS = -I"../../LIB/libpca/include" 
LIBS = -L"../../LIB/libpca/build" -lpca -larmadillo 

zu

INCS = -I"Desktop/PCA-CD/Libraries/include" 
LIBS = -L"Desktop/PCA-CD/Libraries/build" -lpca -larmadillo 

Beachten Sie, dass Desktop/PCA-CD/Libraries ein relativer Pfad ist, und geht davon aus, dass die Bibliothek im Unterverzeichnis der gespeichert wird Verzeichnis erstellen. Versuchen Sie in Ihrem Build-Verzeichnis ls Desktop/PCA-CD/Libraries/build auszuführen, um zu bestätigen, dass es sich um den richtigen Pfad handelt. Wenn dies nicht der Fall ist, ersetzen Sie es durch den absoluten Pfad des Verzeichnisses, in dem Sie die Bibliothek installiert haben.