在 Ubuntu 下使用 gcc 添加库路径,通常有两种方式:编译时指定库路径,以及运行时指定库路径。下面分别说明。
-L 指定库目录gcc main.c -o main -L/path/to/lib -lmylib
-L/path/to/lib:告诉 gcc 去哪里找 .so 或 .a 文件-lmylib:链接 libmylib.so 或 libmylib.aexport LIBRARY_PATH=/path/to/lib
gcc main.c -o main -lmylib
⚠️ LIBRARY_PATH 只影响编译链接阶段
如果程序依赖动态库(.so),运行时也要能找到库。
-Wl,-rpath(推荐)gcc main.c -o main -L/path/to/lib -lmylib -Wl,-rpath,/path/to/lib
LD_LIBRARY_PATH(临时)export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
./main
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),可以告诉我,我可以给你更精确的命令。