Linux下将Tinyxml编译为静态库的方法

小编给大家分享一下Linux下将Tinyxml编译为静态库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

十余年的莲湖网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整莲湖建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“莲湖网站设计”,“莲湖网站推广”以来,每个客户项目都认真落实执行。

Linux下将Tinyxml编译为静态库

一个应用需要在linux服务器上运行,不能保证每个服务器都有应用依赖的库,又懒得每个服务器都去安装下,也不太现实,于是就将应用所用到的库全部编译为静态库,直接丢到服务器上跑吧。此为应用调用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。因为不需要将演示程序添加到动态库中。
将${LD} -o $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}修改为:${AR} $@ ${LDFLAGS} ${OBJS} ${LIBS} ${EXTRA_LIBS}。
保存退出。
     4.执行make命令编译,即可在当前目录生成libtinyxml.a文件。

5.调用测试,当前目录新建一个test.cpp文件,内容如下:

view sourceprint?01 #include "tinyxml.h"   
02 #include "tinystr.h"     
03 #include      
04 using namespace std;   
05      
06 int main()   
07 {   
08     //创建一个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节点。   
19     TiXmlElement *FirstPerson = RootElement->FirstChildElement();   
20     //输出接点名Person   
21       
22     cout << FirstPerson->Value() << endl;   
23     //获得第一个Person的name节点和age节点和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 }

创建test.xml文件,内容如下:

view sourceprint?01    
02        
03         周星星   
04         20   
05        
06        
07         白晶晶   
08         18   
09        
10 

编译当前文件,调用libtinyxml.a库:

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

执行编译好的程序:

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

将编译好的test和test.xml放至另外一台没有tinyxml的库,执行成功。

以上是“Linux下将Tinyxml编译为静态库的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


分享文章:Linux下将Tinyxml编译为静态库的方法
链接地址:http://myzitong.com/article/gdssdg.html