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

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

相关推荐
布莱克60535 分钟前
C/C++ 中变量的声明与定义:区别、联系与常见误区
c语言·开发语言·c++·声明·定义
lzx_0025 小时前
Linux 进程(二) 深入理解进程
linux
沫璃染墨5 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
温暖小土5 小时前
在 CentOS 上安装 Redis Stack
linux·redis·centos
xiaoye-duck6 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
GeW7 小时前
国产化替代进入深水区之后Linux 与数据库为什么必须走向重建
linux
旖旎夜光7 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
小超人诞生日记8 小时前
C++ 智能指针的使用及其原理详解
c++·算法
akinggw9 小时前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
繁星蓝雨10 小时前
C++设计原理———多重继承(虚基类、菱形继承、委托、重命名、基类和成员初始化)
c++·委托·多重继承·mi·显式初始化列·虚基类·对象布局