Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: mcrads от Май 26, 2010, 17:40



Название: Плагины в Qt
Отправлено: mcrads от Май 26, 2010, 17:40
Почитал поиск, ничего не нашел по этой теме. Имею интерфейсы, имею плагин. при сборке приложения все собирается хорошо, однако при сборке плагина очень сильно ругается на Q_DECLARE_INTERFACE().  сборка плагина ругается на все макросы в тексте. хотя все сделано точно так как в примере...

D:/NetPla/NetPla/plugins/BuildGraphPlug/../../interfaces.h:21: error: expected identifier before string constant
D:/NetPla/NetPla/plugins/BuildGraphPlug/../../interfaces.h:21: error: expected ',' or '...' before string constant
D:/NetPla/NetPla/plugins/BuildGraphPlug/../../interfaces.h:21: error: expected constructor, destructor, or type conversion before ';' token

вот на что он ругается...

приложил проект.


Название: Re: Плагины в Qt
Отправлено: Rcus от Май 26, 2010, 18:18
Добавьте -E и увидите что макрос Q_DECLARE_INTERFACE не раскрылся (The <QtPlugin> header files defines macros for defining plugins. More... (http://doc.qt.nokia.com/4.6/qtplugin.html))


Название: Re: Плагины в Qt
Отправлено: mcrads от Май 26, 2010, 19:17
что нужно сделать? мне это очень срочная работа, сессия горит (( как заставить плагин собраться?


Название: Re: Плагины в Qt
Отправлено: Rcus от Май 26, 2010, 19:29
Ладно о фазах трансляции вы не задумываетесь, но ведь должны знать что нельзя использовать макросы без определения (собственно об этом и был текст в скобках)


Название: Re: Плагины в Qt
Отправлено: mcrads от Май 26, 2010, 19:48
к сожалению не знаю ( QT я учу по Максу Шлее, а он об этом ничего не пишет =( поясните пожалуйста, что вы имеете в виду? я если честно вообще весьма и весьма смутно представляю макросы в Qt. сам я предпочитаю обходиться без них если пишу на чистом с++.

простите новичка )


Название: Re: Плагины в Qt
Отправлено: Rcus от Май 26, 2010, 19:56
/* sigh */
Код:
main@krchome:/tmp$ diff -up NetPla NetPlaDone/
diff -up NetPla/interfaces.h NetPlaDone/interfaces.h
--- NetPla/interfaces.h 2010-05-26 13:42:56.000000000 +0600
+++ NetPlaDone/interfaces.h     2010-05-26 21:15:45.813544838 +0600
@@ -6,6 +6,8 @@ class QStringList;
 class QSqlTableModel;
 class QWidget;
 
+#include <QtPlugin>
+
 //---------------------------------------
 
 class BuildGraphInterface


Название: Re: Плагины в Qt
Отправлено: mcrads от Май 26, 2010, 21:17
Спасибо большое! =) помогло ) вот я тупанул (((


Название: Re: Плагины в Qt
Отправлено: mcrads от Май 28, 2010, 10:46
Странное дело... вроде бы все написал, перепроверил сто раз, плагин нормально собирается, нормально вроде бы построен исходя из интерфейса.. но в основную прогу не загружается! =( почему? (((