温馨提示×

Ubuntu C++静态库怎么建

小樊
34
2026-10-17 02:27:04
栏目: 编程语言

在 Ubuntu 下用 C++ 创建静态库(.a 文件),通常步骤如下:


一、准备源文件

假设有两个文件:

mylib.h

#pragma once
void hello();

mylib.cpp

#include <iostream>
#include "mylib.h"

void hello() {
    std::cout << "Hello from static lib!" << std::endl;
}

二、编译为目标文件(.o)

g++ -c mylib.cpp -o mylib.o

⚠️ 静态库必须由 .o 文件组成


三、使用 ar 创建静态库

ar rcs libmylib.a mylib.o

说明:

  • r:插入或替换
  • c:创建库时不警告
  • s:生成索引(等价于 ranlib)

生成文件:

libmylib.a

四、使用静态库

写一个测试程序:

main.cpp

#include "mylib.h"

int main() {
    hello();
    return 0;
}

编译并链接:

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

说明:

  • -L.:库所在目录
  • -lmylib:对应 libmylib.a

运行:

./test

输出:

Hello from static lib!

五、常见补充说明

1️⃣ 多个源文件

g++ -c a.cpp b.cpp
ar rcs libxxx.a a.o b.o

2️⃣ 查看静态库内容

ar t libmylib.a

3️⃣ 静态库 vs 动态库

  • 静态库:.a
  • 动态库:.so

如果你需要:

  • ✅ CMake 建静态库
  • ✅ 多目录结构
  • ✅ 交叉编译

可以继续问我。

0 踩