温馨提示×

ubuntu怎么配c++库文件

小樊
37
2026-10-25 22:27:46
栏目: 编程语言

在 Ubuntu 上“配置 C++ 库文件”通常分为几种情况,下面按常见场景给你讲清楚,你可以对照自己的需求。


一、使用系统已安装的 C++ 库(最常见)

1. 安装开发库

Ubuntu 用 apt 管理库,开发库一般叫 -dev 包。

sudo apt update
sudo apt install g++
sudo apt install libxxx-dev   # 例如 libboost-dev

常见例子:

sudo apt install libopencv-dev
sudo apt install libboost-all-dev
sudo apt install libeigen3-dev

2. 编译时链接库

g++ main.cpp -o main -lxxx

例如:

g++ main.cpp -o main -lboost_system

二、头文件和库文件在哪(默认路径)

Ubuntu 默认:

  • 头文件:/usr/include
  • 库文件:/usr/lib 或 /usr/lib/x86_64-linux-gnu

一般 不需要额外配置,直接 -l 即可。


三、使用自己下载/编译的 C++ 库

情况 A:库在自定义目录

假设:

/home/user/mylib/
├── include/
└── lib/

编译:

g++ main.cpp -o main \
  -I/home/user/mylib/include \
  -L/home/user/mylib/lib \
  -lmylib
  • -I:头文件路径
  • -L:库文件路径
  • -l:库名(去掉 lib 和 .so/.a)

情况 B:运行时找不到 .so

如果编译通过,但运行报:

error while loading shared libraries

解决方法之一:

export LD_LIBRARY_PATH=/home/user/mylib/lib:$LD_LIBRARY_PATH
./main

或永久添加:

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

写入:

/home/user/mylib/lib

然后:

sudo ldconfig

四、用 CMake 配置 C++ 库(推荐)

示例 CMakeLists.txt

cmake_minimum_required(VERSION 3.10)
project(demo)

find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})

add_executable(demo main.cpp)
target_link_libraries(demo ${Boost_LIBRARIES})

自定义库:

include_directories(/home/user/mylib/include)
link_directories(/home/user/mylib/lib)

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

五、查看库是否安装成功

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

或:

ldconfig -p | grep xxx

六、常见坑提醒

  • .a 是静态库,.so 是动态库
  • 链接顺序有时很重要(库放后面)
  • C++ 标准记得加:
g++ -std=c++17 main.cpp

如果你能具体说:

  • 是哪个库(Boost / OpenCV / 自写库)
  • 报错信息是什么

我可以直接给你针对性命令。

0 踩