C++:在 Makefile 中包含一个外部库

C++: Including an external library in Makefile

所以,我在 C++ 程序中包含 ncurses 库时遇到了一些问题。 看来我的 Makefile 设置不正确,无法找到库函数。 我用 "sudo apt-get install libncurses5-dev libncursesw5-dev" 安装了库,我可以通过 "g++ -o output src/main.cpp -lncurses".

手动编译我的代码

我的 Makefile 中的编译器设置如下所示:

CC = g++
CXXFLAGS = -std=c++11 -Wall`
LDFLAGS =
LDLIBS = -lncurses 

我在 ubuntu 上使用 Visual Studios Code 中的 "C/C++ Makefile Project" 插件。

编辑:正如 MadScientist 解释的那样,第二个选项遵循惯例。

因此,我找到了两个解决方案,但我不确定哪一个或其中任何一个是所需的解决方案:

  1. 设置 LDFLAGS = -lncurses

  2. 将 $(LDLIBS) 添加到 Makefile 中的一行:

# Builds the app
$(APPNAME): $(OBJ)
   $(CC) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS)