You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu系统的Clion中生成C++可执行文件

Ubuntu 20.04下C++项目编译生成可执行文件操作指南

前置准备:安装C++编译工具链

Ubuntu 20.04默认没有预装C++编译器,先安装配套编译工具:

  • 首先更新软件源索引:sudo apt update
  • 安装包含g++、make等工具的编译依赖包:sudo apt install build-essential
  • 验证安装结果:执行g++ --version,正常输出版本信息即为安装成功。

单文件项目编译

如果你的项目只有单个.cpp源文件(比如文件名是main.cpp),直接用g++编译即可:

  • 编译命令:g++ 源文件名.cpp -o 自定义可执行文件名
    示例:要生成名为my_project的可执行,执行g++ main.cpp -o my_project
  • 运行可执行文件:./my_project

如果你不指定-o参数,默认会生成名为a.out的可执行文件,运行时执行./a.out即可。


多文件项目编译(两种常用方案)

如果项目包含多个.cpp源文件(比如main.cpp、utils.cpp、calculator.cpp),可根据项目规模选择对应方案:

方案1:一次性编译所有源文件(适合文件数<5的小型项目)

直接把所有源文件路径写在g++命令后即可,编译器会自动处理依赖关系:
g++ main.cpp utils.cpp calculator.cpp -o my_project

方案2:用Makefile管理编译(适合文件较多、迭代频繁的项目)

在项目根目录新建名为Makefile的文件,写入对应编译规则,后续每次编译只需要执行make命令即可,修改代码后只会增量编译变动的文件,节省编译时间。
参考Makefile模板(根据你的项目实际参数调整即可):

# 指定编译器
CXX = g++
# 编译参数:开启所有常规警告、指定C++标准为C++17,可按需修改
CXXFLAGS = -Wall -std=c++17

# 最终生成的可执行文件名
TARGET = my_project
# 所有.cpp源文件列表,多个文件用空格分隔
SRCS = main.cpp utils.cpp calculator.cpp
# 自动生成对应的.o目标文件列表
OBJS = $(SRCS:.cpp=.o)

# 生成最终可执行的规则
$(TARGET): $(OBJS)
	$(CXX) $(OBJS) -o $(TARGET)

# 每个.cpp文件生成对应.o文件的规则
%.o: %.cpp
	$(CXX) $(CXXFLAGS) -c $< -o $@

# 清理编译产物的规则,执行make clean即可删除所有.o文件和可执行
clean:
	rm -f $(OBJS) $(TARGET)

内容的提问来源于stack exchange,提问作者Daniel López

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:51:04