[英]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.