1.安裝gedit
sudo apt-get install gedit -y
2.使用gedit編輯靜態庫源文件test.cpp
gedit test.cpp
輸入下面內容 :
#include <stdio.h>
int func()
{
return 888;
}
如下圖操作:
保存test.cpp並編譯 爲目標文件
gcc -c test.cpp
如下圖示,生成目標文件test.o
使用ar將test.o生成libtest.a靜態庫 libtest.a
ar rcs libtest.a test.o
如下圖所示 :
下面編寫一個簡單的可執行程序來調用靜態庫libtest.a靜態庫
gedit app.cpp
在打開的app.cpp中輸入下面內容:
#include <stdio.h>
#include <iostream>
extern int func();
using namespace std;
int main(int argc,char* argv[])
{
int x = func();//調用靜態庫函數 func
cout<<x<<endl;
return 0;
}
如下圖所示 :
保存app.cpp並生成可執行程序
g++ -o app app.cpp -L. -ltest
-o app 表示生成的可執行文件名
app.cpp 表示參與編譯的源碼文件
-L. 表示鏈接庫的目錄爲當前目錄
-ltest 表示鏈接庫名,完整庫名會自動在前面添加lib及添加後綴名.a或者.so
最後完整的庫名會是 libtest.a 或者 libtest.so
編譯器鏈接程序 時會先搜索libtest.so如果找不到會再去搜索libtest.a
編譯成功後會在當前目錄生成 app可執行程序
運行程序 :
./app