温馨提示×

ubuntu c加加库文件怎么配置

小樊
32
2026-09-23 15:54:36
栏目: 智能运维

在 Ubuntu 下“配置 C++ 库文件”通常涉及安装库、设置头文件路径、设置链接库路径、编译时链接库。下面按常见场景说明。


一、使用系统已提供的库(推荐)

1. 安装库(以常见库为例)

sudo apt update
sudo apt install libssl-dev      # OpenSSL
sudo apt install libboost-all-dev # Boost
sudo apt install libopencv-dev   # OpenCV

-dev 包包含:

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

2. 编译时链接库

g++ main.cpp -o app -lssl -lcrypto

-l 后面是库名(去掉 lib 和 .so)


二、自己编写的库(静态 / 动态)

1. 静态库(.a)

g++ -c mylib.cpp -o mylib.o
ar rcs libmylib.a mylib.o

使用:

g++ main.cpp -L. -lmylib -o app

2. 动态库(.so)

g++ -fPIC -shared mylib.cpp -o libmylib.so

使用:

g++ main.cpp -L. -lmylib -o app

运行时需要:

export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
./app

或把 .so 放到:

sudo cp libmylib.so /usr/local/lib
sudo ldconfig

三、配置头文件和库路径

头文件不在默认路径

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

常见路径

  • 头文件:-I/usr/local/include
  • 库文件:-L/usr/local/lib

四、使用 CMake(推荐方式)

cmake_minimum_required(VERSION 3.10)
project(demo)

find_package(OpenCV REQUIRED)

add_executable(app main.cpp)
target_include_directories(app PRIVATE ${OpenCV_INCLUDE_DIRS})
target_link_libraries(app ${OpenCV_LIBS})

构建:

mkdir build && cd build
cmake ..
make

五、查看库是否安装成功

pkg-config --libs openssl
pkg-config --cflags openssl

编译:

g++ main.cpp $(pkg-config --cflags --libs openssl) -o app

六、常见问题

  • 找不到 -lxxx → 没装 dev 包或路径不对
  • 运行时 cannot find .so → ldconfig 或设置 LD_LIBRARY_PATH
  • 头文件找不到 → 用 -I 指定路径

如果你有具体库名(如 OpenCV、Boost、MySQL、自写库),可以告诉我,我给你一份针对性配置示例。

0 踩