Am unable to get aria2 to build out of the box with mingw. I'm getting the following error:
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I../lib -I../intl -DLOCALEDIR=\"/usr/local/share/locale\" -DCA_BUNDLE=\"\" -DHAVE_CONFIG_H -I/usr/local/include/libxml2 -I/usr/local/include -I/mingw/include -I/include -I/usr/include -I/usr/local/include -I/usr/local/include -I/mingw/include -I/include -I/usr/include -I/usr/local/include -MT UriListParser.o -MD -MP -MF .deps/UriListParser.Tpo -c -o UriListParser.o UriListParser.cc
In file included from UriListParser.cc:35:0:
UriListParser.h:51:16: error: cannot declare field 'aria2::UriListParser::fp_' to be of abstract type 'aria2::BufferedFile'
BufferedFile.h:47:7: note: because the following virtual functions are pure within 'aria2::BufferedFile':
OutputFile.h:48:15: note: virtual int aria2::OutputFile::printf(const char, ...)
make: ** [UriListParser.o] Error 1
If I undefine printf in OutputFile.h, I can at least get it to build to completion. Not sure if there's a better solution or if this affects functionality. Will attempt to attach patch of exact change I made.