David,
In <FLAC++/metadata.h>, class FLAC::Metadata::Picture contains some methods:
void set_width(FLAC__uint32 value) const;
void set_height(FLAC__uint32 value) const;
void set_depth(FLAC__uint32 value) const;
void set_colors(FLAC__uint32 value) const;
bool set_data(const FLAC__byte *data, FLAC__uint32 data_length);
These are exported in the implib as:
FLAC::Metadata::Picture::set_width(unsigned long) const
FLAC::Metadata::Picture::set_depth(unsigned long) const
FLAC::Metadata::Picture::set_height(unsigned long) const
FLAC::Metadata::Picture::set_colors(unsigned long) const
FLAC::Metadata::Picture::set_data(unsigned char const*, unsigned long)
FLAC__uint32 is typedef'd to uint32_t in <FLAC/ordinals.h>. The problem
is that since ~1.7.0-46, uint32_t was changed from 'unsigned long' to
'unsigned int' in order to fix compile warnings/errors, particularly
with C++.
So, building something today on 1.7 results in:
undefined reference to `FLAC::Metadata::Picture::set_width(unsigned int)
const'
undefined reference to `FLAC::Metadata::Picture::set_height(unsigned
int) const'
undefined reference to `FLAC::Metadata::Picture::set_depth(unsigned int)
const'
undefined reference to `FLAC::Metadata::Picture::set_colors(unsigned
int) const'
undefined reference to `FLAC::Metadata::Picture::set_data(unsigned char
const*, unsigned int)'
The fix is simply to rebuild flac for 1.7, preferably with gcc-4.3 while
you are at it. Nothing in the distro depends on libFLAC++6, so you
shouldn't break anything by doing so.
Yaakov
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple