crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QScintilla + Qt, проблемы и решения
Litkevich Yuriy
  опции профиля:
сообщение 26.1.2009, 0:02
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


вот все что я накопал применительно к MDI (переделаный мой SDI-пример):

проблемы компиляции при приведении типа: YSciTEW *child = qobject_cast<YSciTEW *>(windows.at(i)->widget());
решаются сравнительно просто, добавлением макроса Q_OBJECT в объявление класса YSciTEW

Однако далее линковка завершается с ошибкой:
build/objd/mainwindow.o: In function `ZN17QForeachContainerI5QListIP13QMdiSubWindowEEC1ERKS3_':
h:/Qt/4.3.5_shared/include/QtCore/../../src/corelib/kernel/qobject.h:
(.text$_Z12qobject_castIP7YSciTEWET_P7QObject[YSciTEW* qobject_cast<YSciTEW*>(QObject*)]+0x23):
  undefined reference to `YSciTEW::staticMetaObject'
build/objd/yscitew.o: In function `ZN7YSciTEWC2EP7QWidget':
D:/tempData/mdi/yscitew.cpp:10: undefined reference to `vtable for YSciTEW'
D:/tempData/mdi/yscitew.cpp:10: undefined reference to `vtable for YSciTEW'
build/objd/yscitew.o: In function `ZN7YSciTEWC1EP7QWidget':
D:/tempData/mdi/yscitew.cpp:10: undefined reference to `vtable for YSciTEW'
D:/tempData/mdi/yscitew.cpp:10: undefined reference to `vtable for YSciTEW'
build/objd/yscitew.o: In function `ZN5QListI7QStringE5beginEv':
h:/Qt/4.3.5_shared/include/QtCore/../../src/corelib/tools/qlist.h:
(.text$_ZN7YSciTEW2trEPKcS1_[YSciTEW::tr(char const*, char const*)]+0x1c):
  undefined reference to `YSciTEW::staticMetaObject'
collect2: ld returned 1 exit status


я пологаю виной тому объявление конструктора:
explicit QsciScintillaBase(QWidget *parent = 0);

т.к. граф наследования выглядит следующим образом:
YSciTEW -> QsciScintilla -> QsciScintillaBase -> QAbstractScrollArea -> QFrame -> QWidget -> (QObject and QPaintDevice)

на QsciScintillaBase все останавливается, если я правильно понимаю
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.4.2020, 7:38