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 解释的那样,第二个选项遵循惯例。
因此,我找到了两个解决方案,但我不确定哪一个或其中任何一个是所需的解决方案:
设置 LDFLAGS = -lncurses
将 $(LDLIBS) 添加到 Makefile 中的一行:
# Builds the app
$(APPNAME): $(OBJ)
$(CC) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS)
所以,我在 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 解释的那样,第二个选项遵循惯例。
因此,我找到了两个解决方案,但我不确定哪一个或其中任何一个是所需的解决方案:
设置 LDFLAGS = -lncurses
将 $(LDLIBS) 添加到 Makefile 中的一行:
# Builds the app
$(APPNAME): $(OBJ)
$(CC) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(LDLIBS)