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

不使用Makefile时如何用g++编译引用其他头文件的C++程序

问题根因

编译UartComm.cpp时报错是因为g++默认的头文件搜索路径没有包含CircularBuf.h所在的../../TRUNK目录,无法定位到你引入的自定义头文件。

调整后的编译指令

# 前两条编译指令无需修改
g++ -c ../../TRUNK/StringUtl.cpp -o StringUtl.o
g++ -c ../../TRUNK/CircularBuf.cpp -o CircularBuf.o
# 新增-I参数指定头文件搜索路径
g++ -c ../../TRUNK/UartComm.cpp -I ../../TRUNK -o UartComm.o

参数说明

  • -I(大写字母i)是g++专用的头文件搜索路径指定参数,后面跟着你存放自定义头文件的目录路径后,编译器处理#include "xxx.h"语句时,会主动到该路径下查找对应头文件。
  • 如果你后续需要将所有目标文件链接为可执行文件,可以追加以下指令:
g++ StringUtl.o CircularBuf.o UartComm.o -o <你的可执行文件名>

内容的提问来源于stack exchange,提问作者jdl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 19:15:10