Linux 下 C/C++ 第三方库,根据分发形式,主要分为三种安装流程

情况 1:源码包 + CMake 构建(主流现代库)

适用:现代 C/C++ 开源库(ppconsul、protobuf、boost 部分组件、grpc 等)

标准流程:

# 1. 进入解压后的源码根目录

cd 源码目录

# 2. 新建 build 目录并进入(外部编译,隔离源码与编译产物)

mkdir build && cd build

# 3. CMake 读取上级目录的 CMakeLists.txt,生成 Makefile 等构建文件

cmake ..

# 4. 执行编译,生成静态库(.a) / 动态库(.so)

make

# 5. 管理员权限安装:将头文件、库文件拷贝到系统全局目录

sudo make install

# 6. 刷新系统动态库缓存(仅使用 .so 动态库时需要)

sudo ldconfig

情况 2:源码包 + 使用传统 Makefile(无 CMake)

适用场景:老牌 C/C++ 开源库、传统 Linux 工具库,项目自带原生 Makefile,不依赖 CMake

标准流程:

cd 源码目录

# 配置编译环境、路径、功能参数(大部分库必需)

./configure

# 编译

make

# 管理员权限安装到系统全局目录

sudo make install

# 刷新系统动态库缓存(仅使用 .so 动态库时需要)

sudo ldconfig

(不需要 cmake、没有单独 build 目录)

(./configure 是这类库的核心配置脚本,可指定安装路径、关闭 / 开启功能模块。)

情况 3:直接提供编译好的二进制包(.so/.a + 头文件)

别人已经编译好了,只分发:头文件 + 静态库 / 动态库。 

只需要操作:

        解压压缩包

        手动把头文件拷贝到 /usr/local/include

        手动把库文件拷贝到 /usr/local/lib

        执行 sudo ldconfig(动态库必备)

(不需要 cmake、make、make install)

补充:

ldconfig 作用 仅针对 Linux 动态库 (.so),作用是更新系统动态库索引缓存,保证程序运行时能找到对应库;纯静态库 (.a) 不需要执行该命令。

临时使用小技巧 若只是本地测试、不想安装到系统全局,可省略 make installldconfig,直接在编译目录内使用库文件即可。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐