温馨提示×

ubuntu gcc怎么添加库路径

小樊
45
2026-10-12 20:26:34
栏目: 智能运维

在 Ubuntu 下使用 gcc 添加库路径,通常有两种方式:编译时指定库路径,以及运行时指定库路径。下面分别说明。


一、编译时添加库路径(链接阶段)

1️⃣ 使用 -L 指定库目录

gcc main.c -o main -L/path/to/lib -lmylib
  • -L/path/to/lib:告诉 gcc 去哪里找 .so 或 .a 文件
  • -lmylib:链接 libmylib.so 或 libmylib.a

2️⃣ 使用环境变量(临时)

export LIBRARY_PATH=/path/to/lib
gcc main.c -o main -lmylib

⚠️ LIBRARY_PATH 只影响编译链接阶段


二、运行时添加库路径(程序执行阶段)

如果程序依赖动态库(.so),运行时也要能找到库。

1️⃣ 使用 -Wl,-rpath(推荐)

gcc main.c -o main -L/path/to/lib -lmylib -Wl,-rpath,/path/to/lib
  • 把库路径写进可执行文件
  • 不依赖环境变量

2️⃣ 使用 LD_LIBRARY_PATH(临时)

export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
./main

3️⃣ 系统级配置(永久)

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

写入:

/path/to/lib

然后执行:

sudo ldconfig

三、头文件路径(顺便补充)

如果是 头文件(.h)路径:

gcc main.c -I/path/to/include -o main

或:

export C_INCLUDE_PATH=/path/to/include

四、常见示例

gcc main.c -I/opt/mylib/include \
           -L/opt/mylib/lib \
           -lmylib \
           -Wl,-rpath,/opt/mylib/lib \
           -o main

如果你有具体库(如 OpenCV、CUDA、自定义 .so),可以告诉我,我可以给你更精确的命令。

0 踩