栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 前沿技术 > 人工智能 > NLP

Linux下将Tinyxml编译为静态库

NLP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux下将Tinyxml编译为静态库

转载请注明来源:Linux下将Tinyxml编译为静态库

一个应用需要在linux服务器上运行,不能保证每个服务器都有应用依赖的库,又懒得每个服务器都去安装下,也不太现实,于是就将应用所用到的库全部编译为静态库,直接丢到服务器上跑吧。此为应用调用xml配置文件依赖tinyxml库示例,记录下,备忘。

1.下载tinyxml库,直接从官方下载,https://www.wk8.com.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]# ./testPersonsPerson周星星201

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

以上就是Linux下将Tinyxml编译为静态库 的内容,更多相关内容请关注PHP中文网(www.kaotop.com)!

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/794763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号