C++ Linux 上包含多个 *.cpp 文件的生成文件
C++ makefile on Linux with Multiple *.cpp files
我正在尝试制作一个包含多个文件的制作文件。有人可以帮助我吗?我拥有的文件是 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
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 为什么我的主文件.cpp不打印头文件中的任何内容
- 生成文件错误 - 找不到文件 - *.cpp
- 如何在文件.cpp gtkmm中声明小部件
- 没有实现文件(.cpp)的派生类
- 如何使用"CMakeLists.txt"中的add_library将整个文件(.cpp,.h等)包含在目录中
- 如何在Linux / Windows操作系统上使用文件*.cpp一步编译下面的代码
- 关于 Linux .so 文件无法链接到主文件.cpp文件
- 文件.cpp从Windows到Linux
- Ubuntu C++ 编译器错误: g++: 错误: 文件.cpp: 没有这样的文件或目录
- 如何将文件.cpp编译为本机编译
- 使用模板类时,似乎无法包含除 main 以外的任何 cpp 文件.cpp
- 无法编译C++文件.cpp。C++98模式
- 为什么C++头文件不需要包含实现文件 (.cpp)
- 如何访问位于独立文件(.cpp)中的非成员函数
- 如何在Visual Studio Code中通过键盘快捷键切换头文件/cpp文件
- 如何将数据从stringstream写入文件(CPP)
- 为什么filestream不把空白写入文件cpp ?