小编给大家分享一下Linux下将Tinyxml编译为静态库的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
Linux下将Tinyxml编译为静态库
一个应用需要在Linux服务器上运行,不能保证每个服务器都有应用依赖的库,又懒得每个服务器都去安装下,也不太现实,于是就将应用所用到的库全部编译为静态库,直接丢到服务器上跑吧。此为应用调用xml配置文件依赖Tinyxml库示例,记录下,备忘。
1。下载Tinyxml库,直接从官方下载,http://www.php.cn/?/p>
2。解压缩下载好的包,我解压缩到测试目录下,进入项目目录。
3。使用vim编辑器修改Makefile文件:
将其中的输出:=使用xmlt一行修改为:输出:=libtinyxml。一个
将xmltest.cpp从src:=tinyxml。cpp tinyxml-parser。cpp使用xmlt。cpp tinyxmlerror。cpp tinystr.cpp中删除,注释掉xmltest.o: tinyxml。h tinystr。h。因为不需要将演示程序添加到动态库中。
将$ {LD} - o $ @ $ {LDFLAGS} $ {obj} ${填词}$ {EXTRA_LIBS}修改为:$ {AR} $ @ $ {LDFLAGS} $ {obj} ${填词}$ {EXTRA_LIBS}。
保存退出。
,,4。执行让命令编译,即可在当前目录生成libtinyxml.a文件。
5。调用测试,当前目录新建一个测试。cpp文件,内容如下:
view sourceprint ? 01, # include “tinyxml.h",,, 02年,# include “tinystr.h",,,,, 03年,# include & lt; iostream>,,,,, 04,using namespace 性传播疾病;,,, 05年,,,,,, 06年,int main (),,, 07年,{,, 08年,,,,,//创建一个XML的文档对象只,, 09年,,,,,TiXmlDocument * myDocument =, new TiXmlDocument (“test.xml");,,, 10个,,,,,myDocument→LoadFile (),,,, 11,,,,,,,,, 12,,,,,//获得根元素,即人只,, 13,,,,,TiXmlElement * RootElement =, myDocument→RootElement (),,,, 14日,,,,,, 15,,,,,//输出根元素名称,即输只出人,, 16,,,,,cout & lt; & lt;, RootElement→价值(),& lt; & lt;, endl;,,, 17日,,,,,,,,,,, 18岁,,,,,//获得第一个人节点只,, 19日,,,,,TiXmlElement * FirstPerson =, RootElement→FirstChildElement (),,,, 20,,,,,//输出接点名Person ,, 21日,,,,,,, 22日,,,,,cout & lt; & lt;, FirstPerson→价值(),& lt; & lt;, endl;,,, 23日,,,,,//获得第一个人的名字节点和年龄节点和ID属性只,, 24,,,,,TiXmlElement * NameElement =, FirstPerson→FirstChildElement (),,,, 25岁,,,,,TiXmlElement * AgeElement =, NameElement→NextSiblingElement (),,,, 26日,,,,,TiXmlAttribute * IDAttribute =, FirstPerson→FirstAttribute (),,,, 27,,,,,,,,,, 28日,,,,,//输出第一个人的名字内容,即周星星;年龄内容,即20;ID属性,即1只,, 29日,,,,,cout & lt; & lt;, NameElement→写上()→价值(),& lt; & lt;, endl;,,, 30,,,,,cout & lt; & lt;, AgeElement→写上()→价值(),& lt; & lt;, endl;,,, 31日,,,,,cout & lt; & lt;, IDAttribute→价值(),& lt; & lt;, endl;,,, 32岁,,,,,, 33岁,,,,,,,,,return 0;,,, 34,}
创建测试。xml文件,内容如下:
view sourceprint ? 01, & lt; Persons>,,, 02年,,,,,& lt; Person ID=?“祝辞,,, 03年,,,,,,,,,& lt; name>周星星& lt;/name>,,, 04年,,,,,,,,,& lt; age> 20 & lt;/age>,,, 05年,,,,,& lt;/Person>,,, 06年,,,,,& lt; Person ID=?“祝辞,,, 07年,,,,,,,,,& lt; name>白晶晶& lt;/name>,,, 08年,,,,,,,,,& lt; age> 18 & lt;/age>,,, 09年,,,,,& lt;/Person>,,, 10,& lt;/Persons>
编译当前文件,调用libtinyxml。库:
[root@server tinyxml] #, g++, -o test test.cpp 。/libtinyxml。
执行编译好的程序:
[root@server tinyxml] #,,/测试 人 人 周星星 20. 1
将编译好的测试和测试。xml放至另外一台没有tinyxml的库,执行成功。
以上是“Linux下将tinyxml编译为静态库的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!