Всем доброго времени суток!
Хочу написать приложение, расширяемое плагинами, в том числе дать доступ плагинам к элементам интерфейса основного окна, например к элементам ввода, меню и т.п. Во время выполнения, в момент вызова метода плагина, программа валится с ошибкой.
Для тестового примера:
Метод плагина:
void Plugin::writeString(MainWindow* win)
{
win->getEditor()->setText("Hello!");
}
symbol lookup error: /home/proffa/qt/testplugin/bin/plugin/libplugin.so: undefined symbol: _ZN10MainWindow9getEditorEv
Тут похоже есть какая-то зависимость методов классов с vtable, т.к. при доступе к публичным переменным класса MainWindow плагин компилится нормально.
Добавь в файл проекта самой программы:
QMAKE_LFLAGS += -Wl,-export-dynamic
Вот так объяви метод и всё будет работать:
virtual QLineEdit* getEditor();
Спасибо за быстрое наставление на путь истинный
P.S.: для информации - этот вопрос также обсуждается
http://www.prog.org.ru/topic_9914_0.html
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)