v1.6 RC1 on Win64

NightStrike nightstrike at gmail.com
Thu Sep 3 23:22:02 CEST 2009


Taglib is currently used by VLC, and VLC requires Win64 support in
Taglib to have a win64 supported VLC.  1.5 works for this, but 1.6
seems to break this compatibility.

I tried to compile your release candidate for Win64 using
http://mingw-w64.sf.net/ , and it died as follows:

tstring.cpp:74:16: error: definition of static data member
'TagLib::String::null' of dllimport'd class


It seems like this should be simple to fix.  Also, you might want to
clean up a lot of these warnings, too.  It would be a big help for
Win64 support:


tstring.cpp:74:16: warning: 'TagLib::String::null' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:78:1: warning: 'TagLib::String::String()' redeclared
without dllimport attribute after being referenced with dll linkage
tstring.cpp:83:1: warning: 'TagLib::String::String(const
TagLib::String&)' redeclared without dllimport attribute: previous
dllimport ignored
tstring.cpp:88:1: warning: 'TagLib::String::String(const std::string&,
TagLib::String::Type)' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:109:1: warning: 'TagLib::String::String(const
TagLib::wstring&, TagLib::String::Type)' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:115:1: warning: 'TagLib::String::String(const wchar_t*,
TagLib::String::Type)' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:121:1: warning: 'TagLib::String::String(const char*,
TagLib::String::Type)' redeclared without dllimport attribute after
being referenced with dll linkage
tstring.cpp:143:1: warning: 'TagLib::String::String(wchar_t,
TagLib::String::Type)' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:150:1: warning: 'TagLib::String::String(char,
TagLib::String::Type)' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:163:1: warning: 'TagLib::String::String(const
TagLib::ByteVector&, TagLib::String::Type)' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:199:1: warning: 'virtual TagLib::String::~String()'
redeclared without dllimport attribute after being referenced with dll
linkage
tstring.cpp:205:13: warning: 'std::string TagLib::String::to8Bit(bool)
const' redeclared without dllimport attribute: previous dllimport
ignored
tstring.cpp:250:17: warning: 'TagLib::wstring
TagLib::String::toWString() const' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:255:13: warning: 'const char*
TagLib::String::toCString(bool) const' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:266:18: warning: 'TagLib::String::Iterator
TagLib::String::begin()' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:271:23: warning: 'TagLib::String::ConstIterator
TagLib::String::begin() const' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:276:18: warning: 'TagLib::String::Iterator
TagLib::String::end()' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:281:23: warning: 'TagLib::String::ConstIterator
TagLib::String::end() const' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:286:5: warning: 'int TagLib::String::find(const
TagLib::String&, int) const' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:296:5: warning: 'int TagLib::String::rfind(const
TagLib::String&, int) const' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:307:6: warning: 'bool TagLib::String::startsWith(const
TagLib::String&) const' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:315:8: warning: 'TagLib::String
TagLib::String::substr(TagLib::uint, TagLib::uint) const' redeclared
without dllimport attribute after being referenced with dll linkage
tstring.cpp:325:9: warning: 'TagLib::String&
TagLib::String::append(const TagLib::String&)' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:332:8: warning: 'TagLib::String TagLib::String::upper()
const' redeclared without dllimport attribute: previous dllimport
ignored
tstring.cpp:348:14: warning: 'TagLib::uint TagLib::String::size()
const' redeclared without dllimport attribute: previous dllimport
ignored
tstring.cpp:353:14: warning: 'TagLib::uint TagLib::String::length()
const' redeclared without dllimport attribute after being referenced
with dll linkage
tstring.cpp:358:6: warning: 'bool TagLib::String::isEmpty() const'
redeclared without dllimport attribute: previous dllimport ignored
tstring.cpp:363:6: warning: 'bool TagLib::String::isNull() const'
redeclared without dllimport attribute: previous dllimport ignored
tstring.cpp:368:12: warning: 'TagLib::ByteVector
TagLib::String::data(TagLib::String::Type) const' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:433:5: warning: 'int TagLib::String::toInt() const'
redeclared without dllimport attribute: previous dllimport ignored
tstring.cpp:449:8: warning: 'TagLib::String
TagLib::String::stripWhiteSpace() const' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:475:6: warning: 'bool TagLib::String::isLatin1() const'
redeclared without dllimport attribute: previous dllimport ignored
tstring.cpp:484:6: warning: 'bool TagLib::String::isAscii() const'
redeclared without dllimport attribute: previous dllimport ignored
tstring.cpp:493:8: warning: 'static TagLib::String
TagLib::String::number(int)' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:522:16: warning: 'TagLib::wchar&
TagLib::String::operator[](int)' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:529:22: warning: 'const TagLib::wchar&
TagLib::String::operator[](int) const' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:534:6: warning: 'bool TagLib::String::operator==(const
TagLib::String&) const' redeclared without dllimport attribute after
being referenced with dll linkage
tstring.cpp:539:9: warning: 'TagLib::String&
TagLib::String::operator+=(const TagLib::String&)' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:547:9: warning: 'TagLib::String&
TagLib::String::operator+=(const wchar_t*)' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:555:9: warning: 'TagLib::String&
TagLib::String::operator+=(const char*)' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:564:9: warning: 'TagLib::String&
TagLib::String::operator+=(wchar_t)' redeclared without dllimport
attribute after being referenced with dll linkage
tstring.cpp:572:9: warning: 'TagLib::String&
TagLib::String::operator+=(char)' redeclared without dllimport
attribute after being referenced with dll linkage
tstring.cpp:580:9: warning: 'TagLib::String&
TagLib::String::operator=(const TagLib::String&)' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:592:9: warning: 'TagLib::String&
TagLib::String::operator=(const std::string&)' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:610:9: warning: 'TagLib::String&
TagLib::String::operator=(const TagLib::wstring&)' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:618:9: warning: 'TagLib::String&
TagLib::String::operator=(const wchar_t*)' redeclared without
dllimport attribute: previous dllimport ignored
tstring.cpp:626:9: warning: 'TagLib::String&
TagLib::String::operator=(char)' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:635:9: warning: 'TagLib::String&
TagLib::String::operator=(wchar_t)' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:644:9: warning: 'TagLib::String&
TagLib::String::operator=(const char*)' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:663:9: warning: 'TagLib::String&
TagLib::String::operator=(const TagLib::ByteVector&)' redeclared
without dllimport attribute: previous dllimport ignored
tstring.cpp:687:6: warning: 'bool TagLib::String::operator<(const
TagLib::String&) const' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:696:6: warning: 'void TagLib::String::detach()' redeclared
without dllimport attribute after being referenced with dll linkage
tstring.cpp:708:6: warning: 'void
TagLib::String::prepare(TagLib::String::Type)' redeclared without
dllimport attribute after being referenced with dll linkage
tstring.cpp: In function 'const TagLib::String operator+(const
TagLib::String&, const TagLib::String&)':
tstring.cpp:776:22: warning: 'const TagLib::String operator+(const
TagLib::String&, const TagLib::String&)' redeclared without dllimport
attribute: previous dllimport ignored
tstring.cpp:783:22: warning: 'const TagLib::String operator+(const
char*, const TagLib::String&)' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp: In function 'const TagLib::String operator+(const
TagLib::String&, const char*)':
tstring.cpp:790:22: warning: 'const TagLib::String operator+(const
TagLib::String&, const char*)' redeclared without dllimport attribute:
previous dllimport ignored
tstring.cpp:797:15: warning: 'std::ostream& operator<<(std::ostream&,
const TagLib::String&)' redeclared without dllimport attribute:
previous dllimport ignored


More information about the taglib-devel mailing list