собралось без особых сложностей - лишь добавил несколько недостающих экстернов
но вот беда - огромное количество ворнингов вида
'QDataStream &operator<<(QDataStream &, const QBitArray &)' redeclared without dllimport attribute: previous dllimport ignored
и в таком же духе в разных заголовках...
смотрим src/corelib/tools/qbitarray.h:
class Q_CORE_EXPORT QBitArray
{
//...
friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QBitArray &);
friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QBitArray &);
//...
};
//...
Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QBitArray &);
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QBitArray &);
всё, больше нигде "QDataStream &operator<<(QDataStream &, const QBitArray &)" не встречается...выходит, что гцц не нравится именно что-то в этой связке. если френдов оставить без Q_CORE_EXPORT и пересобрать, ворнинга не станет, либа останется рабочей (правда, обратную совместимость не проверял), но...при сборке студией получаем:
error C2375: 'operator`<<'' : redefinition; different linkage
никак не могу понять из-за чего, собственно, ворнинги. ведь "friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QBitArray &);" лишь предекларирует оператор и без нормальной декларации символа не должно быть видно...или всё не так?