Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: ритт от Январь 11, 2009, 12:23



Название: мингв, gcc 4.3.2-dw2, Qt 4.5.0-20090110
Отправлено: ритт от Январь 11, 2009, 12:23
собралось без особых сложностей - лишь добавил несколько недостающих экстернов
но вот беда - огромное количество ворнингов вида
Цитировать
'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 &);" лишь предекларирует оператор и без нормальной декларации символа не должно быть видно...или всё не так?


Название: Re: мингв, gcc 4.3.2-dw2, Qt 4.5.0-20090110
Отправлено: pastor от Январь 11, 2009, 14:09
Incorrect warning when applying dllimport to friend function (http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00881.html)

GCC Bugzilla Bug 34749 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34749)


Название: Re: мингв, gcc 4.3.2-dw2, Qt 4.5.0-20090110
Отправлено: ритт от Январь 11, 2009, 14:24
так это регресс...а я второй вечер мучаюсь :)
не догадался в трекере гцц поискать...
вот только не понял: отрапортовано для 4.2.1, назначено, патч имеется, а резолюшен у баги пустой...и в 4.3.2 та же бага - т.е. не пофиксили?


Название: Re: мингв, gcc 4.3.2-dw2, Qt 4.5.0-20090110
Отправлено: pastor от Январь 11, 2009, 14:28
получается что не пофиксили :)

Я думаю можно поднять этот таск снова, добавив туда камент


Название: Re: мингв, gcc 4.3.2-dw2, Qt 4.5.0-20090110
Отправлено: ритт от Январь 11, 2009, 15:13
угу, коммент добавил...
видимо, придётся самому патчить и пересобирать гцц :(

ктстати, результаты сборки заметно лучше, чем у 3.4.5-sjlj...уже переполз бы на 4.3, если б не эти ворнинги дурацкие - хэлло ворлд собираешь и получаешь десятки ворнингов - и сиди-вылавливай где твои, где кутэшные...


Название: Re: мингв, gcc 4.3.2-dw2, Qt 4.5.0-20090110
Отправлено: crackedmind от Февраль 27, 2009, 09:36
А ты где взял такую версию мингв? На сорсфорже только 4.3.0 лежит, и без всяких dw2 :)