环境为Fedora41,gcc 版本 14.2.1 20250110 (Red Hat 14.2.1-7) (GCC)
步骤1:安装必要的工具
首先确保系统已安装C++编译器和构建工具:
sudo dnf install gcc-c++ make
步骤2:创建工程目录结构
# 创建工程目录
mkdir cpp_project
cd cpp_project
# 创建源代码目录和构建目录
mkdir src build include
# 创建源代码文件
touch src/main.cpp
touch include/hello.h
touch src/hello.cpp
步骤3:编写代码
使用文本编辑器(如nano或vim)编写以下文件:
include/hello.h
头文件:
#ifndef HELLO_H
#define HELLO_H
void print_hello();
#endif
src/hello.cpp
实现文件:
#include <iostream>
#include "hello.h"
void print_hello() {
std::cout << "Hello from C++ project!" << std::endl;
}
src/main.cpp
主程序文件:
#include "hello.h"
int main() {
print_hello();
return 0;
}
- 创建Makefile:
touch Makefile
编辑Makefile内容:
# 编译器设置
CXX = g++
CXXFLAGS = -std=c++11 -Iinclude -Wall
# 目标文件和可执行文件
TARGET = build/app
SRCS = src/main.cpp src/hello.cpp
OBJS = $(SRCS:.cpp=.o)
# 默认目标
all: $(TARGET)
# 链接
$(TARGET): $(OBJS)
$(CXX) $(CXXFLAGS) -o $@ $(OBJS)
# 编译
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o $@
# 清理
clean:
rm -f $(OBJS) $(TARGET)
# 运行
run: $(TARGET)
./$(TARGET)
步骤4:编译和运行工程
# 编译工程
make

# 运行程序
make run
# 如果需要清理编译产物
# make clean
运行后,你应该能看到输出:
Hello from C++ project!
工程结构说明
src/
:存放所有源代码文件(.cpp)include/
:存放所有头文件(.h)build/
:存放编译生成的可执行文件Makefile
:用于自动化编译过程的脚本
这个结构适合小型到中型的C++项目,通过Makefile可以轻松管理编译过程,而不需要每次手动输入长长的编译命令。如果项目规模更大,可以考虑使用CMake等更强大的构建系统。