c++ - 如何修改makefile中的库

标签 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/库

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

这是生成文件的样子:

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/

相关文章:

c++ - 使用 boost::random 作为 std::random_shuffle 的 RNG

c - 如何从一个非常简单的示例使用 Makefile

makefile - 如何在 Makefile 的 for 循环体中调用函数

c++ - 使用 make 和 gcc 编译和链接来自不同目录的源代码

c++ - 使用boost bind访问内部类的成员函数

用于生成和读取音频的 C++ 库

c++ - 将 const 引用传递给使用自定义对象的模板类

linux - 移植 Qt 项目,调试/发布配置?

c++ - 无法在 Fedora 上连接冰淇淋 (icecc)

c++ - C++ 程序错误