我有一个 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/库
但我不明白我真正需要改变的是什么。
这是生成文件的样子:
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)
感谢您提供的任何帮助。
最佳答案
我认为他们建议更改线路:
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
,以确认它是正确的路径。如果不是,请将其替换为安装库的目录的绝对路径。
关于c++ - 如何修改makefile中的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44783471/