不使用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
相关产品推荐
相关产品推荐

