Russian Qt Forum
Ноябрь 23, 2024, 07:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Плагины в Qt  (Прочитано 5201 раз)
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

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

приложил проект.
Записан
Rcus
Гость
« Ответ #1 : Май 26, 2010, 18:18 »

Добавьте -E и увидите что макрос Q_DECLARE_INTERFACE не раскрылся (The <QtPlugin> header files defines macros for defining plugins. More...)
Записан
mcrads
Гость
« Ответ #2 : Май 26, 2010, 19:17 »

что нужно сделать? мне это очень срочная работа, сессия горит (( как заставить плагин собраться?
Записан
Rcus
Гость
« Ответ #3 : Май 26, 2010, 19:29 »

Ладно о фазах трансляции вы не задумываетесь, но ведь должны знать что нельзя использовать макросы без определения (собственно об этом и был текст в скобках)
Записан
mcrads
Гость
« Ответ #4 : Май 26, 2010, 19:48 »

к сожалению не знаю ( QT я учу по Максу Шлее, а он об этом ничего не пишет =( поясните пожалуйста, что вы имеете в виду? я если честно вообще весьма и весьма смутно представляю макросы в Qt. сам я предпочитаю обходиться без них если пишу на чистом с++.

простите новичка )
Записан
Rcus
Гость
« Ответ #5 : Май 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
Записан
mcrads
Гость
« Ответ #6 : Май 26, 2010, 21:17 »

Спасибо большое! =) помогло ) вот я тупанул (((
Записан
mcrads
Гость
« Ответ #7 : Май 28, 2010, 10:46 »

Странное дело... вроде бы все написал, перепроверил сто раз, плагин нормально собирается, нормально вроде бы построен исходя из интерфейса.. но в основную прогу не загружается! =( почему? (((
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.121 секунд. Запросов: 20.