温馨提示×

Linux C++如何配置路径

小樊
37
2026-07-31 17:37:02
栏目: 编程语言

在 Linux 下使用 C++ 配置路径(头文件路径、库路径、可执行文件路径等),通常分为 编译期配置运行期配置 两大类。下面按常见场景系统说明。


一、编译期路径配置(最常见)

1️⃣ 头文件路径(Include Path)

✅ 使用 g++ / clang++

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

多个路径:

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

✅ CMake 方式(推荐)

include_directories(/path/to/include)

或现代写法:

target_include_directories(my_target PRIVATE /path/to/include)

2️⃣ 库文件路径(Library Path)

✅ 编译时链接库路径

g++ -L /path/to/lib main.cpp -lmylib

✅ CMake

link_directories(/path/to/lib)

或更好方式:

target_link_libraries(my_target PRIVATE mylib)

3️⃣ 指定库名

g++ main.cpp -L /path/to/lib -lmylib

对应:

libmylib.so 或 libmylib.a

二、运行期路径配置(程序启动后)

1️⃣ 动态库路径(非常重要)

✅ 临时方式(当前终端)

export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH

✅ 永久方式(不推荐滥用)

echo 'export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

✅ 推荐方式(系统级)

sudo vim /etc/ld.so.conf.d/mylib.conf

写入:

/path/to/lib

然后执行:

sudo ldconfig

2️⃣ 可执行程序路径

✅ 临时

export PATH=/path/to/bin:$PATH

✅ 永久

echo 'export PATH=/path/to/bin:$PATH' >> ~/.bashrc

三、pkg-config(专业做法)

如果库支持 pkg-config

g++ main.cpp $(pkg-config --cflags --libs opencv)

查看路径:

pkg-config --cflags opencv
pkg-config --libs opencv

四、CMake 完整示例(推荐)

cmake_minimum_required(VERSION 3.10)
project(demo)

include_directories(/opt/mylib/include)
link_directories(/opt/mylib/lib)

add_executable(demo main.cpp)
target_link_libraries(demo mylib)

五、常见错误 & 排查

❌ 找不到头文件

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

✅ 检查 -Iinclude_directories


❌ 找不到库

cannot find -lxxx

✅ 检查:

  • -L 路径
  • 库名是否正确
  • .so 还是 .a

❌ 运行时找不到动态库

error while loading shared libraries

✅ 检查:

ldd ./your_program

六、总结速查表

目的 方法
头文件路径 -I / include_directories
库文件路径 -L / link_directories
链接库 -lxxx
运行库路径 LD_LIBRARY_PATH / ldconfig
可执行路径 PATH
专业管理 pkg-config / CMake

如果你有 具体场景(如 OpenCV、CUDA、自定义 SDK、交叉编译、ROS、嵌入式 Linux),可以告诉我,我可以给你针对性的配置示例

0