参考:http://wiki.wxwidgets.org/Building_Xerces-C%2B%2B_XML_Parser_for_EMMe
Xerces下载:http://xerces.apache.org/xerces-c/download.cgi
MingGW与msys的配置可以直接下载:http://sourceforge.net/projects/mingw/files/
下载最新3.1.1的时候先检查下xerces-c-3.1.1\src\xercesc\util目录下的Xerces_autoconf_config.hpp文件是否正确
Xerces_autoconf_config.hpp编译前是Xerces_autoconf_config.hpp.in文件,这个文件如果直接使用是有问题的,不过在用configure生成Makefile的过程中会生成一个正确的Xerces_autoconf_config.hpp文件,并且里面的宏也改成了正确的#define
编译过程:
使用gcc4.4版本,编译后会提示缺少libstdc++.dll.a文件,只要修改libstadc++.a文件(以文本方式打开)中的library_names=''为空即可
使用./configure --prefix=/mingw/ LDFLAGS=-no-undefined时要指定LDFLAGS参数为-no-undefine,如果是gcc4.6以上版本会出现错误:
configure:3810: error: in `/e/xerces-c-3.1.1/build':
configure:3814: error: C++ compiler cannot create executables
See `config.log' for more details.
那在第一步的时候就不加这个参数,至于其他的参数根据具体情况添加,
最好要指定CFLAGS=-O3 CXXFLAGS=-O3参数
configure完成之后,会生成一个Makefile文件,这时候不要直接使用make命令,
因为要加入LDFLAGS=-no-undefined,要不然无法生成动态库
使用make libxerces_c_la_LDFLAGS="-release 3.1 -no-undefined"