温馨提示×

Ubuntu下C++如何配置路径

小樊
42
2026-09-14 12:46:24
栏目: 编程语言

在 Ubuntu 下配置 C++ 的“路径”,通常分为几种常见场景。下面按最常见需求给你梳理,你可以对照自己的情况看。


一、编译时:告诉 g++ 头文件和库文件在哪

1️⃣ 指定头文件搜索路径(-I)

g++ main.cpp -I/path/to/include -o main
  • -I:指定 头文件目录
  • 例如:
g++ main.cpp -I/usr/local/include/mylib -o main

2️⃣ 指定库文件搜索路径(-L)

g++ main.cpp -L/path/to/lib -lmylib -o main
  • -L:指定 库文件目录
  • -l:链接库名(去掉 lib.so

示例:

g++ main.cpp -L/usr/local/lib -lopencv_core -o main

二、运行时:让程序能找到动态库(.so)

方法 1:临时设置(终端生效)

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

方法 2:永久生效(用户级)

nano ~/.bashrc

添加:

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

保存后:

source ~/.bashrc

方法 3:系统级(推荐生产环境)

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

写入:

/path/to/lib

然后执行:

sudo ldconfig

三、CMake 中配置路径(推荐方式)

CMakeLists.txt 示例

include_directories(/path/to/include)
link_directories(/path/to/lib)

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

或现代写法:

find_library(MYLIB mylib PATHS /path/to/lib)
target_include_directories(main PRIVATE /path/to/include)
target_link_libraries(main ${MYLIB})

四、环境变量 PATH(可执行程序路径)

如果你是让 g++ 或你自己编译的程序能在终端直接运行:

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

永久:

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

五、常见错误排查

fatal error: xxx.h: No such file → 缺 -I

cannot find -lxxx → 缺 -L 或库名写错

❌ 运行报错 error while loading shared libraries → 缺 LD_LIBRARY_PATH 或没 ldconfig


六、你可以告诉我

你是哪种情况?

  • ✅ 配置第三方库(OpenCV / Boost / etc)
  • ✅ 自己写的多文件项目
  • ✅ CMake / Makefile
  • ✅ VSCode 环境

我可以直接给你可复制的配置示例

0