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

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

相关推荐
沐怡旸3 小时前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River4166 小时前
Javer 学 c++(十三):引用篇
c++·后端
轻松Ai享生活9 小时前
5 节课深入学习Linux Cgroups
linux
感哥9 小时前
C++ std::set
c++
侃侃_天下9 小时前
最终的信号类
开发语言·c++·算法
christine-rr9 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神55510 小时前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆10 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
博笙困了10 小时前
AcWing学习——差分
c++·算法
乌萨奇也要立志学C++10 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器