C++ Linux 上包含多个 *.cpp 文件的生成文件

C++ makefile on Linux with Multiple *.cpp files

本文关键字:文件 cpp Linux 包含多 C++      更新时间:2023-10-16

我正在尝试制作一个包含多个文件的制作文件。有人可以帮助我吗?我拥有的文件是 file1.cpp、file2.h 和 main.cpp

file1.cpp 包含我的函数。file2.h 包含我的函数的声明。

main.cpp [在代码中包含 file2.h]file1.cpp [在代码中包含 file2.h]

我做了

all: main
gcc -g -Wall -o main main.cpp

但是当我尝试编译时,它给了我大量的错误。 我的代码在Eclipse上运行得很好。

您需要

编译您使用的所有.cpp文件(我假设它们不包含在某处)。这样编译器就会知道 file1.cpp 和 main.cpp 一起使用。另外,我建议使用g ++而不是gcc,因为g++是特定的c ++编译器,而gcc支持C和C++。

尝试使用:

g++ -g -Wall -o main main.cpp file1.cpp

另外,我建议使用这样的Makefile变量:

SOURCES = main.cpp file1.cpp
g++ -g -Wall -o main $(SOURCES)

希望这对:)有所帮助

但是当我尝试编译时,它给了我大量的错误。 我的代码在Eclipse上运行得很好。

gcc不是C++编译器。 请改用g++

您的Makefile应如下所示,它可以利用隐式规则:

all: main
CXXFLAGS+=-g -Wall
LDLIBS+=-lstdc++
main: file1.o main.o