make file link with dynamic and static libraries

Posted on Updated on

  • to build static library
  • % gcc -c libtest.c -o libtest.o
    % ar rcs libtest.a libtest.o

  • to build dynamic library
  • -fPIC option tells gcc to create position independant code which is necessary for shared libraries

    % gcc -c -fPIC libtest.c -o libtest.o
    % gcc -shared -o libtest.so libtest.o

  • to use static library
  • % gcc -static main.c -L. -ltest -o testStatic

  • to use dynamic library
  • % gcc main.c -L. -ltest -o testDynamic

the source file of application who uses the library ltest, sould be located before -l options
-L<path to search libraries> (no spacing after -L)
-o <output file>
-l<lib_name> (no spacing after -l)

  • in static link, library name is lib.a ex: libtest.a libcheckitout.a or libxxxx.a
  • in dynamic link, library start with lib ex: libtest or libtest.so or lib….
  • gcc [options] -o

    廣告

    發表迴響

    在下方填入你的資料或按右方圖示以社群網站登入:

    WordPress.com Logo

    您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

    Twitter picture

    您的留言將使用 Twitter 帳號。 登出 / 變更 )

    Facebook照片

    您的留言將使用 Facebook 帳號。 登出 / 變更 )

    Google+ photo

    您的留言將使用 Google+ 帳號。 登出 / 變更 )

    連結到 %s