Summary: | class QwtData has non-virtual method without implementation | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Alexey V. Novikov <shader> |
Component: | libqwt | Assignee: | Vitaly Lipatov <lav> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | ||
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux | ||
Bug Depends on: | 20278 | ||
Bug Blocks: |
Description
Alexey V. Novikov
2008-08-05 19:39:54 MSD
Как воспроизвести проблему? В qwt_data.cpp есть QwtArrayData& QwtArrayData::operator=(const QwtArrayData &data) Виталик, никто и не спорит, что в классе QwtArrayData этот метод реализован. Дело в том, что в классе QwtData этот метод не реализован. Обычные программы вряд ли будут его использовать, но вот некоторые кодогенераторы... Проверить можно вот на чем: ftp://ftp.gis-auto.ru/ruby-qt4-1.4.10-alt2.src.rpm Если в нем оторвать первый кусок патча ruby-qt4-alt-fix-kalyptus.patch, который относится к kalyptusCxxToSmoke.pm (это как раз и есть workaround данной проблемы), то в итоге получим unresolved symbol у libsmokeqt именно на QwtData &operator=(const QwtData &). qwt_data.h: class QWT_EXPORT QwtData: ... /*! Assignment operator (virtualized) */ QwtData &operator=(const QwtData &); Автор явно имел какой-то тайный умысел, написав слово virtualized. Если я добавлю слово virtual, это изменит ABI библиотеки. Возможно стоит авторам ruby-qt4 договориться с авторами libqwt? :) (In reply to comment #3) > Автор явно имел какой-то тайный умысел, написав слово virtualized. Что именно имел в виду автор, для меня загадка. Возможно он просто забыл реализовать этот метод или объявить его виртуальным. А т.к. в обычной ситуации это ничем не грозит, то скорее всего он даже не в курсе. > Если я добавлю слово virtual, это изменит ABI библиотеки. По всей видимости. > Возможно стоит авторам ruby-qt4 договориться с авторами libqwt? :) Теперь это уже должна быть головная боль zerg@, если он все-таки собирается делать ruby-qt4 из kde4bindings и собирать это хозяйство с qwt (в последнем я не уверен). |