转载请注明来源: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 <iostream> 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 <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
执行编译好的程序:
[root@server tinyxml]# ./test Persons Person 周星星 20 1
将编译好的test和test.xml放至另外一台没有tinyxml的库,执行成功。
以上就是Linux下将Tinyxml编译为静态库 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

RSS2.0 adalah standard terbuka yang membolehkan penerbit kandungan mengedarkan kandungan dengan cara berstruktur. Ia mengandungi metadata yang kaya seperti tajuk, pautan, penerangan, tarikh pelepasan, dan lain -lain, yang membolehkan pelanggan dengan cepat melayari dan mengakses kandungan. Kelebihan RSS2.0 adalah kesederhanaan dan skalabilitasnya. Sebagai contoh, ia membolehkan unsur -unsur tersuai, yang bermaksud pemaju boleh menambah maklumat tambahan berdasarkan keperluan mereka, seperti penulis, kategori, dll.

RSS adalah format berasaskan XML yang digunakan untuk menerbitkan kandungan yang sering dikemas kini. 1. RSSFEED menganjurkan maklumat melalui struktur XML, termasuk tajuk, pautan, keterangan, dan lain -lain. 3. Penggunaan lanjutan boleh termasuk fail multimedia dan maklumat dikelaskan. 4. Gunakan alat pengesahan XML semasa debugging untuk memastikan bahawa unsur -unsur yang diperlukan wujud dan dikodkan dengan betul. 5. Mengoptimumkan RSSFEED boleh dicapai dengan paging, caching dan menjaga struktur mudah. Dengan memahami dan menggunakan pengetahuan ini, kandungan dapat diuruskan dan diedarkan dengan berkesan.

RSS adalah format berasaskan XML yang digunakan untuk menerbitkan dan melanggan kandungan. Struktur XML fail RSS termasuk elemen akar, elemen, dan pelbagai elemen, masing -masing mewakili entri kandungan. Baca dan menghuraikan fail RSS melalui Parser XML, dan pengguna boleh melanggan dan mendapatkan kandungan terkini.

XML mempunyai kelebihan data berstruktur, skalabilitas, keserasian silang platform dan pengesahan parsing dalam RSS. 1) data berstruktur memastikan konsistensi dan kebolehpercayaan kandungan; 2) Skalabiliti membolehkan penambahan tag tersuai untuk memenuhi keperluan kandungan; 3) keserasian silang platform menjadikannya berfungsi dengan lancar pada peranti yang berbeza; 4) Alat analisis dan pengesahan memastikan kualiti dan integriti makanan.

Pelaksanaan RSS dalam XML adalah untuk mengatur kandungan melalui format XML berstruktur. 1) RSS menggunakan XML sebagai format pertukaran data, termasuk elemen seperti maklumat saluran dan senarai projek. 2) Apabila menghasilkan fail RSS, kandungan mesti dianjurkan mengikut spesifikasi dan diterbitkan ke pelayan untuk langganan. 3) Fail RSS boleh dilanggan melalui pembaca atau pemalam untuk mengemas kini kandungan secara automatik.

Ciri -ciri lanjutan RSS termasuk ruang nama kandungan, modul lanjutan, dan langganan bersyarat. 1) Ruang nama kandungan memanjangkan fungsi RSS, 2) modul yang dilanjutkan seperti Dublincore atau iTunes untuk menambah metadata, 3) penyertaan penapis langganan bersyarat berdasarkan keadaan tertentu. Fungsi -fungsi ini dilaksanakan dengan menambahkan unsur -unsur dan atribut XML untuk meningkatkan kecekapan pemerolehan maklumat.

RssfeedsusexmltostructureContentupdates.1) xmlprovidesahierarchicalstructurefordata.2) theelementDefinestHefeed'sidentityandcontainselements.3) elementsRepresentIndividualcontentpieces.4) rssiseStomeS

RSS dan XML adalah alat untuk pengurusan kandungan web. RSS digunakan untuk menerbitkan dan melanggan kandungan, dan XML digunakan untuk menyimpan dan memindahkan data. Mereka bekerja dengan penerbitan kandungan, langganan, dan kemas kini. Contoh penggunaan termasuk catatan blog RSS dan maklumat buku penyimpanan XML.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).
