如何在makefile中修改库

时间:2017-06-27 14:52:54

标签: c++ makefile

我有一个makefile,我需要修改它以包含库的路径。我正在尝试运行别人给我的程序。我真的很困惑makefile是如何工作的,并且不理解前面的行是什么。

这些是我修改makefile的指示:

更改行:     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.

现在我现在的新路径是什么:

桌面/ PCA-CD /库

但我不明白我真正需要改变的是什么。

这是makefile的样子:

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)

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

我认为他们建议改变这条线:

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

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

请注意Desktop/PCA-CD/Libraries是一个相对路径,并假定该库存储在构建目录的子目录中。在您的构建目录中,尝试运行ls Desktop/PCA-CD/Libraries/build,以确认它是正确的路径。如果不是,请将其替换为安装库的目录的绝对路径。