温馨提示×

linux c++库怎么使用

小樊
42
2026-09-17 06:43:38
栏目: 编程语言

在 Linux 下使用 C++ 库,一般分三种情况:系统自带库、第三方库、自己写的库。下面从“概念 → 编译 → 常见示例”给你一个清晰、实用的说明。


一、C++ 库的基本概念

1. 库的类型

类型 说明 文件后缀
静态库 编译时直接打包进程序 .a
动态库 运行时加载 .so

2. 使用库的基本流程

写代码 → 包含头文件 → 编译时链接库 → 运行

二、使用系统自带 C++ 库(最常见)

示例:使用 pthread(多线程)

1. 头文件

#include <pthread.h>

2. 编译时链接

g++ main.cpp -o main -lpthread

-l 表示链接库
pthread 对应 libpthread.so


三、使用第三方 C++ 库(如 Boost)

1. 安装库(Ubuntu 示例)

sudo apt install libboost-dev

2. 写代码

#include <boost/algorithm/string.hpp>

3. 编译

g++ main.cpp -o main

(Boost 大部分是头文件库,不需要 -l

如果是 Boost.System:

g++ main.cpp -o main -lboost_system

四、使用自己写的 C++ 库

1. 写库代码

mylib.h

#pragma once
void hello();

mylib.cpp

#include <iostream>
void hello() {
    std::cout << "Hello Library" << std::endl;
}

2. 生成静态库

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

使用:

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

3. 生成动态库

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

使用:

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

运行前告诉系统库位置:

export LD_LIBRARY_PATH=.
./main

五、常见编译参数说明

参数 含义
-I 头文件路径
-L 库文件路径
-l 库名(去掉 lib 和后缀)
-std=c++17 C++ 标准

示例:

g++ main.cpp -I./include -L./lib -lmylib -std=c++17

六、进阶(推荐)

  • CMake(项目级库管理)
  • pkg-config
g++ main.cpp $(pkg-config --cflags --libs opencv4)

七、你可以告诉我

  • 你用的是 Ubuntu / CentOS / Arch
  • 想用 哪个库(如 OpenCV、Boost、SQLite)?
  • 编译报错 还是 不会链接

我可以直接给你“可复制运行”的示例。

0