温馨提示×

ubuntu c++头文件路径怎么设置

小樊
32
2026-08-01 20:14:52
栏目: 编程语言

在 Ubuntu 下设置 C++ 头文件路径,常见有几种方式,取决于你是手动编译用 CMake、还是系统级配置。下面按使用场景给你总结一下。


一、使用 g++ / clang++ 手动编译

1️⃣ 使用 -I 指定头文件路径(最常用 ✅)

g++ main.cpp -I /path/to/include

示例:

g++ main.cpp -I /home/user/mylib/include

这会让编译器在:

/home/user/mylib/include

中查找头文件。


2️⃣ 多个头文件路径

g++ main.cpp -I/path/to/include1 -I/path/to/include2

3️⃣ 查看默认头文件搜索路径

g++ -v -E -x c++ -

echo | g++ -v -E -x c++ -

输出中会包含类似:

#include <...> search starts here:
 /usr/include/c++/11
 /usr/include/x86_64-linux-gnu
 /usr/include

二、使用 CMake(推荐 ✅)

1️⃣ include_directories

include_directories(/path/to/include)

⚠️ 不推荐用于现代 CMake(全局生效)


2️⃣ target_include_directories(推荐 ✅)

add_executable(myapp main.cpp)

target_include_directories(myapp
    PRIVATE
        /path/to/include
)

如果是第三方库:

target_include_directories(myapp
    PRIVATE
        ${PROJECT_SOURCE_DIR}/third_party/lib/include
)

三、系统级头文件路径(不推荐随意改 ⚠️)

1️⃣ 系统默认路径(无需设置)

/usr/include
/usr/local/include

只要头文件放在这些目录,直接:

#include <header.h>

2️⃣ 添加系统级头文件路径(谨慎)

方法一:拷贝头文件

sudo cp myheader.h /usr/local/include/

方法二:修改系统 include 路径(不推荐)

export CPLUS_INCLUDE_PATH=/path/to/include:$CPLUS_INCLUDE_PATH

永久生效可写入:

~/.bashrc

四、环境变量方式(临时/脚本用)

export CPLUS_INCLUDE_PATH=/path/to/include

然后编译:

g++ main.cpp

查看:

echo $CPLUS_INCLUDE_PATH

五、常见错误 & 排查

❌ 错误

fatal error: myheader.h: No such file or directory

✅ 排查

  1. 路径是否正确
  2. 是否用了 -I
  3. #include <> 还是 #include ""
    • <>:系统路径
    • "":当前目录 + -I 路径

六、快速对照表

场景 推荐方式
手动 g++ -I /path/to/include
CMake target_include_directories
第三方库 -I 或 CMake
系统库 /usr/local/include

如果你愿意,可以告诉我:

  • g++ / clang / CMake / VSCode
  • 自己写的库 还是 第三方库
  • Ubuntu 版本

我可以给你一个完全对应你项目的示例

0