小編給大家分享一下Linux下將Tinyxml編譯為靜態(tài)庫(kù)的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的應(yīng)縣網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!Linux下將Tinyxml編譯為靜態(tài)庫(kù)
一個(gè)應(yīng)用需要在linux服務(wù)器上運(yùn)行,不能保證每個(gè)服務(wù)器都有應(yīng)用依賴的庫(kù),又懶得每個(gè)服務(wù)器都去安裝下,也不太現(xiàn)實(shí),于是就將應(yīng)用所用到的庫(kù)全部編譯為靜態(tài)庫(kù),直接丟到服務(wù)器上跑吧。此為應(yīng)用調(diào)用xml配置文件依賴tinyxml庫(kù)示例,記錄下,備忘。
1.下載tinyxml庫(kù),直接從官方下載,http://www.php.cn/。
2.解壓縮下載好的包,我解壓縮到test目錄下,進(jìn)入項(xiàng)目目錄。
3.使用vim編輯器修改Makefile文件:
將其中的OUTPUT := xmltest一行修改為:OUTPUT := libtinyxml.a
將xmltest.cpp從SRCS:=tinyxml.cpp tinyxml-parser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp中刪除,,注釋掉xmltest.o:tinyxml.h tinystr.h。因?yàn)椴恍枰獙⒀菔境绦蛱砑拥絼?dòng)態(tài)庫(kù)中。
將${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}修改為:${AR} $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}。
保存退出。
4.執(zhí)行make命令編譯,即可在當(dāng)前目錄生成libtinyxml.a文件。
5.調(diào)用測(cè)試,當(dāng)前目錄新建一個(gè)test.cpp文件,內(nèi)容如下:
view sourceprint?01 #include "tinyxml.h" 02 #include "tinystr.h" 03 #include <iostream> 04 using namespace std; 05 06 int main() 07 { 08 //創(chuàng)建一個(gè)XML的文檔對(duì)象。 09 TiXmlDocument *myDocument = new TiXmlDocument("test.xml"); 10 myDocument->LoadFile(); 11 12 //獲得根元素,即Persons。 13 TiXmlElement *RootElement = myDocument->RootElement(); 14 15 //輸出根元素名稱,即輸出Persons。 16 cout << RootElement->Value() << endl; 17 18 //獲得第一個(gè)Person節(jié)點(diǎn)。 19 TiXmlElement *FirstPerson = RootElement->FirstChildElement(); 20 //輸出接點(diǎn)名Person 21 22 cout << FirstPerson->Value() << endl; 23 //獲得第一個(gè)Person的name節(jié)點(diǎn)和age節(jié)點(diǎn)和ID屬性。 24 TiXmlElement *NameElement = FirstPerson->FirstChildElement(); 25 TiXmlElement *AgeElement = NameElement->NextSiblingElement(); 26 TiXmlAttribute *IDAttribute = FirstPerson->FirstAttribute(); 27 28 //輸出第一個(gè)Person的name內(nèi)容,即周星星;age內(nèi)容,即20;ID屬性,即1。 29 cout << NameElement->FirstChild()->Value() << endl; 30 cout << AgeElement->FirstChild()->Value() << endl; 31 cout << IDAttribute->Value() << endl; 32 33 return 0; 34 }
創(chuàng)建test.xml文件,內(nèi)容如下:
view sourceprint?01 <Persons> 02 <Person ID="1"> 03 <name>周星星</name> 04 <age>20</age> 05 </Person> 06 <Person ID="2"> 07 <name>白晶晶</name> 08 <age>18</age> 09 </Person> 10 </Persons>
編譯當(dāng)前文件,調(diào)用libtinyxml.a庫(kù):
[root@server tinyxml]# g++ -o test test.cpp ./libtinyxml.a
執(zhí)行編譯好的程序:
[root@server tinyxml]# ./test Persons Person 周星星 20 1
將編譯好的test和test.xml放至另外一臺(tái)沒有tinyxml的庫(kù),執(zhí)行成功。
以上是“Linux下將Tinyxml編譯為靜態(tài)庫(kù)的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標(biāo)題:Linux下將Tinyxml編譯為靜態(tài)庫(kù)的方法-創(chuàng)新互聯(lián)
當(dāng)前URL:http://jinyejixie.com/article26/cshccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、外貿(mào)建站、關(guān)鍵詞優(yōu)化、網(wǎng)站排名、企業(yè)網(wǎng)站制作、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容