Skip to content
hokein edited this page Feb 5, 2013 · 1 revision
//生成.o链接文件
gcc -c main.c

//生成编译过程中间所有文件(.i, .s, .o)
gcc -save-temps main.c

//由.o文件生成静态链接库
ar crv libmain.a main.o

//编译链接静态链接库,生成可执行文件
gcc test.c libmain.a -o test 

//生成动态链接库
gcc main.cpp -fPIC -shared -o libmain.so
gcc -fPIC -shared main.o -o libmain.so

//链接动态链接库,生成可执行文件:
gcc test.c -L. -lmain -o test

由于编译器只会在特定目录下查找.so动态链接库, 如果要链接自定义的库,可以采取下面做法:

  1. copy到usr/lib目录下
  2. 设置LD_LIBRARY_PATH环境变量:
    export LD_LIBRARY_PATH=LD_LIBRARY_PATH:"path/to/lib"
  1. 通过-Wl,-rpath, path/to/lib参数指定:
    gcc test.c -L. -lmain -Wl,-rpath, path/to/lib

Tech-Notes

LLVM/Clang

C/C++

Linux

Vim

Tools

Others

Chromium-Dev tips

Clone this wiki locally