Linux下將Tinyxml編譯為靜態(tài)庫的方法-創(chuàng)新互聯

小編給大家分享一下Linux下將Tinyxml編譯為靜態(tài)庫的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網站制作、成都網站建設、企業(yè)官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的應縣網站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

Linux下將Tinyxml編譯為靜態(tài)庫

一個應用需要在linux服務器上運行,不能保證每個服務器都有應用依賴的庫,又懶得每個服務器都去安裝下,也不太現實,于是就將應用所用到的庫全部編譯為靜態(tài)庫,直接丟到服務器上跑吧。此為應用調用xml配置文件依賴tinyxml庫示例,記錄下,備忘。

1.下載tinyxml庫,直接從官方下載,http://www.php.cn/。

2.解壓縮下載好的包,我解壓縮到test目錄下,進入項目目錄。

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。因為不需要將演示程序添加到動態(tài)庫中。
將${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}修改為:${AR} $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}。
保存退出。
     4.執(zhí)行make命令編譯,即可在當前目錄生成libtinyxml.a文件。

5.調用測試,當前目錄新建一個test.cpp文件,內容如下:

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)建一個XML的文檔對象。   
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     //獲得第一個Person節(jié)點。   
19     TiXmlElement *FirstPerson = RootElement->FirstChildElement();   
20     //輸出接點名Person   
21       
22     cout << FirstPerson->Value() << endl;   
23     //獲得第一個Person的name節(jié)點和age節(jié)點和ID屬性。   
24     TiXmlElement *NameElement = FirstPerson->FirstChildElement();   
25     TiXmlElement *AgeElement = NameElement->NextSiblingElement();   
26     TiXmlAttribute *IDAttribute = FirstPerson->FirstAttribute();   
27          
28     //輸出第一個Person的name內容,即周星星;age內容,即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文件,內容如下:

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>

編譯當前文件,調用libtinyxml.a庫:

[root@server tinyxml]# g++ -o test test.cpp ./libtinyxml.a

執(zhí)行編譯好的程序:

[root@server tinyxml]# ./test
Persons
Person
周星星
20
1

將編譯好的test和test.xml放至另外一臺沒有tinyxml的庫,執(zhí)行成功。

以上是“Linux下將Tinyxml編譯為靜態(tài)庫的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!

新聞標題:Linux下將Tinyxml編譯為靜態(tài)庫的方法-創(chuàng)新互聯
當前URL:http://muchs.cn/article26/cshccg.html

成都網站建設公司_創(chuàng)新互聯,為您提供網站設計、外貿建站、關鍵詞優(yōu)化、網站排名企業(yè)網站制作、定制網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都網站建設公司