Ubuntu12.4.04下libxml2的安装和使用
关于libxml2库的详细信息的查看方法请查看: http://blog.csdn.net/wangkai_123456/article/details/25710971 libxml2库的安装方法: sudo apt-get install libxml2 sudo apt-get install libxml2-dev 利用以上命令安装完软件包后可以利用以下命令来查看软件
关于libxml2库的详细信息的查看方法请查看:http://blog.csdn.net/wangkai_123456/article/details/25710971
libxml2库的安装方法:
sudo apt-get install libxml2
sudo apt-get install libxml2-dev
利用以上命令安装完软件包后可以利用以下命令来查看软件包的状态(确定是否安装成功)
dpkg -s libxml2-dev
也可以用如下命令(得到的结果是一样的):
dpkg-query -s libxml2-dev
软件安装好后,默认情况下,libxml2对应的头文件均放置在/usr/include/libxml2/libxml目录下,这一信息可利用如下两个命令查看(任一命令都能查看到相关信息)
dpkg -L libxml2-dev
xml2-config --cflags
libxml2的库文件放置在/usr/lib/i386-linux-gnu目录下,这一信息可利用如下两个命令查看(任一命令都能查看到相关信息)
dpkg -L libxml2-dev
xml2-config --libs
对应libxml2有一个工具,名字为xml2-config,xml2-config所在的目录为/usr/bin,其实这是一个shell脚本,关于xml2-config的详细信息可以通过如下命令来查看
man xml2-config
安装后libxml2库后,就可以开始进行基于libxml2库的开发了。现有以下一段程序,程序文件名为CreateXmlFile.c,是基于libxml2库开发的。代码如下
/********************************** created: 2014/05/12 filename: CreateXmlFile.c auther: wang kai depend: libxml2.lib purpose: 创建一个xml文件 **********************************/ #include<stdio.h> #include<libxml> #include<libxml> int main(int argc, char **argv) { //Define document pointer xmlDocPtr doc = xmlNewDoc(BAD_CAST"1.0"); //Define node pointer xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST"root"); //Set the root element of the document xmlDocSetRootElement(doc,root_node); //Create child nodes directly in the root node xmlNewTextChild(root_node,NULL,BAD_CAST"newnode1",BAD_CAST"newnode1 content"); xmlNewTextChild(root_node,NULL,BAD_CAST"newnode2",BAD_CAST"newnode2 content"); //Create a new node xmlNodePtr node = xmlNewNode(NULL,BAD_CAST"node2"); //Create a new text node xmlNodePtr content = xmlNewText(BAD_CAST"NODE CONTENT"); //Add a new node to parent xmlAddChild(root_node,node); xmlAddChild(node,content); //Create a new property carried by a node xmlNewProp(node,BAD_CAST"attribute",BAD_CAST"yes"); //Create a son and grandson node element node = xmlNewNode(NULL,BAD_CAST"son"); xmlAddChild(root_node,node); xmlNodePtr grandson = xmlNewNode(NULL,BAD_CAST"grandson"); xmlAddChild(node,grandson); xmlAddChild(grandson,xmlNewText(BAD_CAST"THis is a grandson node")); //Dump an XML document to a file int nRel = xmlSaveFile("CreatedXml.xml",doc); if(nRel != -1) printf("一个xml文档被创建,写入 %d 个字节\n",nRel); //Free up all the structures used by a document,tree included xmlFreeDoc(doc); //printf("Hello World!\n"); return 0; }</libxml></libxml></stdio.h>
gcc -I/usr/include/libxml2 CreateXmlFile.c -o CreateXmlFile
-L /usr/lib/i386-linux-gnu -lxml2
其中,-I参数是为了指定gcc编译器查找头文件的路径,-L参数是为了指定libxml2库文件所在的路径,最后的
-lxml2指定具体的库文件。(-lxml2一定要放在命令的最后位置,不然会出现找不到链接库的错误,如下图所示)
具体为什么一定要把-lxml2放在最后的位置,本人目前还没弄明白,有待进一步研究
编译命令也可以写成如下形式:
gcc `xml2-config --cflags` -L /usr/lib/i386-linux-gnu CreateXmlFile.c -o CreateXmlFile -lxml2
或
gcc `xml2-config --cflags` CreateXmlFile.c -o CreateXmlFile
-L /usr/lib/i386-linux-gnu -lxml2
或
gcc CreateXmlFile.c -o CreateXmlFile `xml2-config --cflags --libs`
形式虽然不一样,其实命令的实际内容是一样的。因为命令xml2-config --cflags的执行结果为
-I/usr/include/libxml2 (指明include头文件所在的目录)
命令xml2-config --libs的执行结果为
-L/usr/lib/i386-linux-gnu -lxml2 (指明libxml2库文件所在的目录以及具体的库文件)
(不管写成何种形式,只要保证 -lxml2 在编译命令的最后位置即可)

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

CrystalDiskMark是一款適用於硬碟的小型HDD基準測試工具,可快速測量順序和隨機讀取/寫入速度。接下來就讓小編為大家介紹一下CrystalDiskMark,以及crystaldiskmark如何使用吧~一、CrystalDiskMark介紹CrystalDiskMark是一款廣泛使用的磁碟效能測試工具,用於評估機械硬碟和固態硬碟(SSD)的讀取和寫入速度和隨機I/O性能。它是一款免費的Windows應用程序,並提供用戶友好的介面和各種測試模式來評估硬碟效能的不同方面,並被廣泛用於硬體評

foobar2000是一款能隨時收聽音樂資源的軟體,各種音樂無損音質帶給你,增強版本的音樂播放器,讓你得到更全更舒適的音樂體驗,它的設計理念是將電腦端的高級音頻播放器移植到手機上,提供更便捷高效的音樂播放體驗,介面設計簡潔明了易於使用它採用了極簡的設計風格,沒有過多的裝飾和繁瑣的操作能夠快速上手,同時還支持多種皮膚和主題,根據自己的喜好進行個性化設置,打造專屬的音樂播放器支援多種音訊格式的播放,它還支援音訊增益功能根據自己的聽力情況調整音量大小,避免過大的音量對聽力造成損害。接下來就讓小編為大

如果你已經成功下載了百度網盤的安裝文件,但是無法正常安裝,可能是軟體文件的完整性發生了錯誤或者是殘留文件和註冊表項的問題,下面就讓本站來為用戶們來仔細的介紹一下百度網盤下載成功但是安裝不了問題解析吧。 百度網盤下載成功但是安裝不了問題解析 1、檢查安裝檔完整性:確保下載的安裝檔完整且沒有損壞。你可以重新下載一次,或者嘗試使用其他可信任的來源下載安裝檔。 2、關閉防毒軟體和防火牆:某些防毒軟體或防火牆程式可能會阻止安裝程式的正常運作。嘗試將防毒軟體和防火牆停用或退出,然後重新執行安裝

在如今雲端儲存已成為我們日常生活和工作中不可或缺的一部分。百度網盤作為國內領先的雲端儲存服務之一,憑藉其強大的儲存功能、高效的傳輸速度以及便捷的操作體驗,贏得了廣大用戶的青睞。而且無論你是想要備份重要文件、分享資料,還是在線上觀看影片、聽取音樂,百度網盤都能滿足你的需求。但很多用戶可能對百度網盤app的具體使用方法還不了解,那麼這篇教學就將為大家詳細介紹百度網盤app如何使用,還有疑惑的用戶們就快來跟著本文詳細了解一下吧!百度雲網盤怎麼用:一、安裝首先,下載並安裝百度雲軟體時,請選擇自訂安裝選

MetaMask(中文也叫小狐狸錢包)是一款免費的、廣受好評的加密錢包軟體。目前,BTCC已支援綁定MetaMask錢包,綁定後可使用MetaMask錢包進行快速登錄,儲值、買幣等,且首次綁定還可獲得20USDT體驗金。在BTCCMetaMask錢包教學中,我們將詳細介紹如何註冊和使用MetaMask,以及如何在BTCC綁定並使用小狐狸錢包。 MetaMask錢包是什麼? MetaMask小狐狸錢包擁有超過3,000萬用戶,是當今最受歡迎的加密貨幣錢包之一。它可免費使用,可作為擴充功能安裝在網絡

網易郵箱,作為中國網友廣泛使用的一種電子郵箱,一直以來以其穩定、高效的服務贏得了用戶的信賴。而網易信箱大師,則是專為手機使用者打造的信箱軟體,它大大簡化了郵件的收發流程,讓我們的郵件處理變得更加便利。那麼網易信箱大師該如何使用,具體又有哪些功能呢,下文中本站小編將為大家帶來詳細的內容介紹,希望能幫助到大家!首先,您可以在手機應用程式商店搜尋並下載網易信箱大師應用程式。在應用寶或百度手機助手中搜尋“網易郵箱大師”,然後按照提示進行安裝即可。下載安裝完成後,我們打開網易郵箱帳號並進行登錄,登入介面如下圖所示

在Linux上安裝安卓應用程式一直是許多用戶所關心的問題,尤其是對於喜歡使用安卓應用程式的Linux用戶來說,掌握如何在Linux系統上安裝安卓應用程式是非常重要的。雖然在Linux系統上直接運行安卓應用程式並不像在Android平台上那麼簡單,但是透過使用模擬器或第三方工具,我們依然可以在Linux上愉快地享受安卓應用程式的樂趣。以下將為大家介紹在Linux系統上安裝安卓應

如果您使用過Docker,則必須了解守護程式、容器及其功能。守護程序是在容器已在任何系統中使用時在背景執行的服務。 Podman是一個免費的管理工具,用於管理和建立容器,而不依賴任何守護程序,例如Docker。因此,它在管理貨櫃方面具有優勢,而不需要長期的後台服務。此外,Podman不需要使用根級別的權限。本指南詳細討論如何在Ubuntu24上安裝Podman。更新系統我們先進行系統更新,開啟Ubuntu24的Terminalshell。在安裝和升級過程中,我們都需要使用命令列。一種簡單的
