繁体   English   中英

Linux上的C ++ makefile,带有多个* .cpp文件

[英]C++ makefile on Linux with Multiple *.cpp files

我正在尝试使用多个文件制作一个makefile。 有人能帮我吗? 我拥有的文件是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

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

你需要编译你使用的所有.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)

希望这可以帮助 :)

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

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

你的Makefile应该是这样的,它可以利用隐式规则

all: main

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM