[Linux] 在 Linux 上建立動態函式庫 .so
最近雖然比較常在 Linux 上寫 python 程式了,
但對於在 Linux 上寫 C++ 的程式還是比較陌生,尤其是要建立動態函式庫 .so,
更是還沒有嘗試過…
因為專案的關係,今天就來試試了~
也找到了一篇文章來參考~~
基本上建立 .so 的話,可以用 g++ -shared -fPIC 選項來建立,
因此下面先寫一個 Makefile,
裡面包含了一個 libxxx.so,另外還要準備一個測試程式 testlibxxx.out。
Makefile
all: libxxx.so testlibxxx.out
libxxx.so:
g++ –shared –fPIC –o libxxx.so xxx.cpp
testlibxxx.out:
g++ –o testlibxxx.out testlibxxx.cpp libxxx.so
clean:
rm –rf *.so *.out
libxxx.cpp
#include
void xxx_for_test()
{
printf(“test\n“);
}
testlibxxx.cpp
void xxx_for_test();
int main()
{
xxx_for_test();
return 0;
}
編譯後就會產生我們要的函式庫 libxxx.so 以及測試程式 testlibxxx.out,
執行的話,要指定函式庫所在的路徑就行囉~~(像如果 testlibxxx.out 和 libxxx.so 放在目前目錄下,就用 .)
LD_LIBRARY_PATH=. ./testlibxxx.out
//
//
(本頁面已被瀏覽過 844 次)