在bada程序里使用靜態(tài)庫(kù)
靜態(tài)庫(kù)把目標(biāo)文件集合起來(lái),使用ar (archive)程序創(chuàng)建。靜態(tài)庫(kù)的二進(jìn)制文件以”a”拓展名結(jié)束。靜態(tài)庫(kù)讓用戶(hù)可以連接程序,而不需重新編輯代碼,從而節(jié)省了編輯時(shí)間。
本文介紹了如何創(chuàng)建靜態(tài)文件,將它們與你的程序連接起來(lái),在你的程序中使用它們的方法。(推薦閱讀:在bada程序中使用共享庫(kù))
創(chuàng)建靜態(tài)庫(kù)
為了創(chuàng)建靜態(tài)庫(kù),你必須首先在bad IDE中為庫(kù)創(chuàng)建一個(gè)項(xiàng)目,然后為不同的連編配置定義不同的屬性。然后,你必須應(yīng)以庫(kù)的API,***,你必須構(gòu)建庫(kù)二進(jìn)制。如需了解更多信息,請(qǐng)參閱以下部分:
創(chuàng)建一個(gè)庫(kù)項(xiàng)目
為了創(chuàng)建靜態(tài)庫(kù):
◆在bada IDE中,選擇 File > New > bada Application Project.
如果bada Application Project選項(xiàng)不可見(jiàn),確保你使用的是bada C++.
◆輸入項(xiàng)目名稱(chēng),選擇bada Static Library項(xiàng)目類(lèi)型;
◆點(diǎn)擊完成Finish

圖:創(chuàng)建靜態(tài)庫(kù)
設(shè)置C/C++ Build 屬性
你必須為新的靜態(tài)庫(kù)設(shè)定build artifact設(shè)置。這些設(shè)置與Simulator和目標(biāo)連編配置的設(shè)置一樣。
為了設(shè)置build artifact:
◆在bada IDE Project Explorer中,右擊靜態(tài)庫(kù)項(xiàng)目,選擇Properties。
◆在Properties窗口,選擇C/C++ Build > Settings
◆在Build Artifact鍵上,檢查輸出前綴是否為lib,artifact 拓展名是否為a。
◆點(diǎn)擊OK。
庫(kù)文件命名為 lib

圖:在build artifact中的設(shè)置
定義庫(kù)API
你必須在頭文件中宣布庫(kù)API,在相應(yīng)的.cpp文件中定義它們。
下面的代碼段顯示如何為你的程序發(fā)布庫(kù)API。
- // This method is archived in libStatLib.a
- int StatLibMethod(void);
- // User-defined class archived in libStatLib.a
- class MyClass {
- public:
- MyClass();
- virtual ~MyClass();
- void PrintMessage(void);
- };
注:準(zhǔn)備歸檔的庫(kù)方法和類(lèi)必須宣布為一般的C++ declarations。
構(gòu)建庫(kù)
你必須構(gòu)建一個(gè)庫(kù)項(xiàng)目以生成庫(kù)二進(jìn)制文件。為了為每個(gè)連編配置構(gòu)建項(xiàng)目,在bada IDE里,選擇Project > Build Project。
如果連編成功,每個(gè)配置會(huì)生成相應(yīng)的二進(jìn)制文件,如下所示(libStatLib.a)。二進(jìn)制文件位于項(xiàng)目的工作空間文件夾中。如, C:\bada\1.0.0\IDE\workspace\StatLib\.Target-Debug\libStatLib.a。

圖:生成庫(kù)二進(jìn)制文件
將靜態(tài)庫(kù)連接到你的程序上
為了在你的bada程序中使用庫(kù)的方法,你必須將庫(kù)與程序連接起來(lái),把相應(yīng)的頭文件防止在程序的.cpp文件中。此外,你必須定義庫(kù)和在程序項(xiàng)目屬性中通往其位置的搜索路徑。
為了設(shè)定在程序項(xiàng)目屬性中的庫(kù)和搜索路徑:
◆在bada IDE Project Explorer中,右擊程序項(xiàng)目,選定Properties;
◆在Properties窗口中,選定C/C++ Build > Settings;
◆從Configuration的下拉菜單中,選定恰當(dāng)?shù)倪B編配置。
◆在Tool Settings 鍵中,選定bada C++ Linker > Miscellaneous.
◆添加在Other objects下使用的靜態(tài)庫(kù),包括帶庫(kù)名稱(chēng)的路徑細(xì)節(jié)。
◆點(diǎn)擊Apply。
◆為其他連編配置重復(fù)步驟3-6.
◆保存設(shè)置,點(diǎn)擊OK.

圖:程序項(xiàng)目中的庫(kù)設(shè)置
使用靜態(tài)庫(kù)方法
將靜態(tài)庫(kù)連接到程序后,你可以使用程序中的庫(kù)API中定義的方法。
下面的代碼段顯示了使用靜態(tài)庫(kù)的方法。
- // Using the static library methods
- MyClass* obj = new MyClass;
- obj->PrintMessage();
- delete obj;
【編輯推薦】




















