C++ linux vscode编译

.cpp .h文件关系与编译命令

单一cpp文件编译

复制代码
//test.cpp为测试源文件, a.out为输出可执行文件
g++ test.cpp -o a.out

多个.cpp文件编译

目录1结构如下:

复制代码
|----main.cpp
|----src
		|----swap.cpp

编译命令如下:

复制代码
g++ main.cpp src/swap.cpp -o b.out

.h头文件和.cpp源文件在同一目录下编译

目录结构如下:

复制代码
|----main.cpp
|----swap.cpp
|----swap.h

编译命令如下: -I. 表示自定义头文件路径在当前目录(大写的i)(也可以不加-I.)

复制代码
g++ main.cpp swap.cpp -I. -o c.out
g++ main.cpp swap.cpp -o c.out

.h头文件和.cpp源文件在不同一目录下编译

目录1结构如下:

复制代码
|----main.cpp
|----swap.cpp
|----src
	   |----swap.h

编译命令如下: -I. 表示自定义头文件路径在当前目录(大写的i)

复制代码
g++ main.cpp swap.cpp -Isrc -o d.out

目录2结构如下:

复制代码
|----source
		|----swap.cpp
|----src
		|----swap.h

编译命令如下: -I. 表示自定义头文件路径在当前目录(大写的i)

复制代码
g++ source/swap.cpp -Isrc -o e.out

注意:命令在根目录下运行

相关推荐
Sheffield3 小时前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
不想写代码的星星3 小时前
std::function 详解:用法、原理与现代 C++ 最佳实践
c++
Johny_Zhao21 小时前
centos7安装部署openclaw
linux·人工智能·信息安全·云计算·yum源·系统运维·openclaw
haibindev21 小时前
在 Windows+WSL2 上部署 OpenClaw AI员工的实践与踩坑
linux·wsl2·openclaw
樱木Plus2 天前
深拷贝(Deep Copy)和浅拷贝(Shallow Copy)
c++
0xDevNull2 天前
Linux切换JDK版本详细教程
linux
进击的丸子2 天前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
Johny_Zhao4 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
blasit4 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip