Building 2.9.0 on MSVC7.1 currently fails with cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "NOLIBTOOL" /W1 /MD /I.. /I..\include /IC:\teragram\libxml2\include /D "_REENTRANT" /D "HAVE_WIN32_THREADS" /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /D "NDEBUG" /O2 /Foint.utils.msvc\ /c ..\testlimits.c testlimits.c link.exe /nologo /VERSION:2.9 /LIBPATH:bin.msvc /LIBPATH:C:\teragram\libxml2\lib /OUT:bin.msvc\testlimits.exe libxml2.lib wsock32.lib ws2_32.lib kernel32.lib int.utils.msvc\testlimits.obj testlimits.obj : error LNK2019: unresolved external symbol _vsnprintf referenced in function _channel bin.msvc\testlimits.exe : fatal error LNK1120: 1 unresolved externals NMAKE : fatal error U1077: 'link.exe' : return code '0x460' Stop.This is because HAVE_CONFIG_H is not #defined, which is odd, because configure.js goes to the trouble of creating a config.h file.
An MSVC6 build fails with the following additional error: timsort.h(75) : error C2059: syntax error : 'bad suffix on number' timsort.h(75) : error C2146: syntax error : missing ')' before identifier 'L' timsort.h(75) : error C2059: syntax error : ')' (I.e. the compiler doesn't recognize the "ULL" integer-type suffix.)The attached patch addresses the above, adds testrecurse.exe and the standard "make check" suite of tests to the MSVC makefile, and also fixes the following (MSVC7.1) warnings:
buf.c(674) : warning C4028: formal parameter 1 different from declaration libxml2\timsort.h(71) : warning C4028: formal parameter 1 different from declaration --Daniel -- Daniel Richard G. || danielg teragram com || Software Developer Teragram Linguistic Technologies (a division of SAS) http://www.teragram.com/
Attachment:
libxml2-win32-fixes.patch
Description: Patch against git master