configure fails on MinGW (v4.1, MSys 1.0.1) when
checking for required functions truncate and mkstmp
(line 250-253 of configure.in, 3.8.3 sources).
When this section is disabled, the make process fails
with the following error (shortened; the same error
repeats over and over again):
cc1plus.exe: warning: command line option
"-Wmissing-declarations" is valid for C/ObjC but not
for C++
In file included from ../include/id3.h:32,
from c_wrapper.cpp:29:
../include/id3/globals.h:49: warning: ignoring #pragma
message
../include/id3/globals.h:50: warning: ignoring #pragma
message
../include/id3/globals.h:51: warning: ignoring #pragma
message
../include/id3/globals.h:52: warning: ignoring #pragma
message
../include/id3/globals.h:53: warning: ignoring #pragma
message
../include/id3/globals.h:54: warning: ignoring #pragma
message
../include/id3/globals.h:55: warning: ignoring #pragma
message
In file included from ../include/id3.h:32,
from c_wrapper.cpp:29:
../include/id3/globals.h:56:6: #error read message
above or win32.readme.first.txt
In file included from c_wrapper.cpp:29:
../include/id3.h:47: error: `ID3_C_EXPORT' does not
name a type
../include/id3.h:48: error: expected constructor,
destructor, or type conversion before "void"
../include/id3.h:48: error: expected `,' or `;' before
"void"
../include/id3.h:49: error: expected constructor,
destructor, or type conversion before "void"
../include/id3.h:49: error: expected `,' or `;' before
"void"
../include/id3.h:50: error: expected constructor,
destructor, or type conversion before "bool"
../include/id3.h:50: error: expected `,' or `;' before
"bool"
../include/id3.h:51: error: expected constructor,
destructor, or
[...]
This can be circumvented by modifying include/globals.h
like this:
$ diff globals-3.8.3.h globals.h
44c44,45
< #ifdef WIN32
---
> //#ifdef WIN32
> #if 0
I assume this puts dynamic linking out of commission,
but it appears to work for static libraries.