Windows環境下libxml2庫的使用小結


(1)--環境的搭建,下載與安裝LIBXML2和ICONV

          Libxml2是一個C語言的XML程序庫,可以簡單方便的提供對XML文檔的各種操作,並且支持XPATH查詢,以及部分的支持XSLT轉換等功能。Libxml2的下載地址是http://xmlsoft.org/downloads.html,完全版的庫是開源的,並且帶有例子程序和說明文檔。完全版的文件名為:libxml2-2.7.8.tar.gz。

          Libxml2中默認的內碼是UTF-8,所有使用libxml2進行處理的xml文件,必須首先顯式或者默認的轉換為UTF-8編碼才能被處理。
要在xml中使用中文,就必須能夠在UTF-8和GB2312內碼(較常用的一種簡體中文編碼)之間進行轉換。Libxml2提供了默認的內碼轉換機制,並且在libxml2的Tutorial中有一個例子,事實證明這個例子並不適合用來轉換中文。所以需要我們顯式的使用ICONV來進行內碼轉換,libxml2本身也是ICONV使用進行轉換的。ICONV是一個專門用來進行編碼轉換的庫,基本上支持目前所有常用的編碼。它是glibc庫的一個部分,常常被用於UNIX系統中。當然,在windows下面使用也沒有任何問題。

其下載地址是http://gnuwin32.sourceforge.net/packages/libiconv.htm,文件名為libiconv-1.9.2-1-lib.zip。

          將libiconv-1.9.2-1-lib.zip解壓,將其中的iconv.h放入C:\opt\include目錄中,將其中的libiconv.lib放入C:\opt\lib中,並改名為iconv.lib.(沒有opt目錄就新建一個)。

          解壓libxml2-2.7.8.tar.gz文件到C盤根目錄,在c:\libxml2-2.7.8\libxml2-2.7.8\win32目錄中存放了多個Windows平台編譯器的Makefile文件,我們使用vs2008,所以待會會用Makefile.msvc文件。

1.進入Visual Studio 2008 Command Prompt;

2.cd c:\libxml2-2.7.8\libxml2-2.7.8\win32

3.輸入cscript configure.js compiler=msvc prefix=c:\opt  include=c:\opt\include lib=c:\opt\lib debug=yes,回車執行。

4.最后使用nmake命令進行編譯,輸入nmake /f Makefile.msvc並回車。

此時會出現一下錯誤提示,

Makefile.msvc(465) : fatal error U1020: end-of-file found before next directive
Stop.

網上找了下原因,原來是Makefile.msvc中存在錯誤。

+!if "$(WITH_ICU)" == "1"
+LIBS = $(LIBS) icu.lib
+!endif

將以上三行前面的+號都刪掉,重新執行nmake即可。

在當前win32目錄中生成了一個bin.msvc目錄,其中就有開發需要的libxml2.lib和libxml2.dll文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM