c语言基于SDL2游戏开发-libxml2的安装配置

tiled map

tiled map是一款开源免费的游戏地图编辑开发工具,可以帮助您开发游戏的内容。软件最主要的功能便是编辑游戏中各种形式的瓷砖地图,侧重于一般的灵活性,同时保持直观,并支持图素、层次和对象等通用概念。tiled map支持快速的编辑游戏地图,使用方面也是非常的简单,不管是新手还是老手,都可轻松的进行编辑,软件里面还内置了大量的游戏地图模块,免费的提供给大家进行使用,是游戏开发人员快速开发游戏一大利器。

tmx

Tiled maps 储存的格式由 TMX, TSX and TX 等, 他们都是基于xml的文档格式,因此我们如果想要操作它的化,我们需要一个能够操作xml的类库,而这个就是libxml2.

libxml2

Libxml2是为Gnome项目开发的XML C解析器和工具包(但可在Gnome平台之外使用),它是根据MIT许可提供的免费软件。XML本身是设计标记语言的元语言,即文本语言,其中使用括在尖括号之间的额外“标记”信息将语义和结构添加到内容中。

依赖

zlib,需要先安装编译zlib,http://www.zlib.net/ 注意最好使用最新的版本,编译生成libzlib.a静态库文件供libxml2编译使用,将编译生成的文件放入到minggw的安装目录。

$ cp zlib1.dll /mingw/bin
$ cp zconf.h zlib.h /mingw/include
$ cp libz.a /mingw/lib
$ cp libzdll.a /mingw/lib

安装

下载[源码](https://www.zlatkovic.com/projects/libxml/index.html) 先安装好对应的依赖,然后进行编译安装即可

没有python环境,可以使用

./configure --without-python
$ cp .libs/libxml2.a /mingw/lib
$ cp include/libxml /mingw/include

gcc编译参数

需要注意链接顺序

 gcc "-lmingw32",
 "-lSDL2main",
 "-lSDL2",
 "-lSDL2_image",
 "-ltmx",
 "-lxml2",
 "-lz",
 "-liconv",
 "-lwsock32",