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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt config и Qxt  (Прочитано 5890 раз)
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« : Июнь 12, 2011, 21:25 »

Тема навеяна использованием Qxt в IDE Netbeans. Дело в следующем. Собрал Qxt, создал простенький проект, прописал в секцию CONFIG pro-файла проекта:
CONFIG += qxt
QXT += gui

Код самого "проекта":
Код
C++ (Qt)
#include <QApplication>
#include <QxtSpanSlider>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QxtSpanSlider sl;
sl.show();
return app.exec();
}
 

И в нетбинсе, и в криаторе, все этапы - препроцессинг, компиляция, сборка, собственно runtime, всё проходит хорошо.
Но нетбинс подчёркивает эту строку
Код
C++ (Qt)
#include <QxtSpanSlider>
 
красным, а криатор нет. В нетбинсе такое за 4 года вижу впервые - чтоб он указывал на отсутствие файла и в то же время всё работало. Ладно бы просто подчёркивал, но ведь и автодополнение кода при этом не работает, и соответственно при ctrl+space не посмотришь все доступные методы объектов, описания и тому подобные полезности.
Так вот, может знающие подскажут, что такого Qxt при установке мог "сказать" криатору, на основе чего тот его нормально воспринимает аналогично с классами Qt и чего может не знать нетбинс или другие IDE? Ведь Qxt даже установился "нестандартно": не в "/usr/local/include/Qxt" + "/usr/local/lib" как это обычно бывает при установке вручную от рута, а в "/usr/local/Qxt/include" + "/usr/local/Qxt/lib", каким образом тогда хидеры и либы подцепляются к проекту? Может быть qmake при парсинге .pro-файла когда встречает запись qxt обращается к какому-то стороннему конфигу (соответствующую запись в который внёс Qxt) где есть эти соответствия, грубо говоря, "qxt = /usr/local/Qxt/include" и т.п.? Вот хотелось бы очень разобраться в данной архитектуре



« Последнее редактирование: Июнь 13, 2011, 02:28 от serg_hd » Записан

kubuntu/Win7/x64/NetBeans
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« Ответ #1 : Июнь 13, 2011, 12:13 »

Ни у кого никаких предложений Непонимающий
Записан

kubuntu/Win7/x64/NetBeans
ddrtn
Гость
« Ответ #2 : Июнь 14, 2011, 11:36 »

Обратите внимение на папочку features в Qxt. при инстале файлик qxt.prf экспортируется в директорию с Qt (по моему, в mkspecs/features). Собственно говоря, оттуда qmake знает все про qxt. чтобы netbeans знал про qxt ему в настройках проекта необходимо указать путь к заголовочным файликам.
Записан
Fess
Гость
« Ответ #3 : Июнь 14, 2011, 12:27 »

пропишите нужные инклюды и либы руками, как вариант
или сделайте include (/path/to/qxt.prf) в вашем pro
Записан
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« Ответ #4 : Июнь 14, 2011, 15:01 »

чтобы netbeans знал про qxt ему в настройках проекта необходимо указать путь к заголовочным файликам.
Да, если добавить туда "/usr/local/Qxt/include/QxtCore" и "/usr/local/Qxt/include/QxtGui", то с подсветкой становится всё норм. Но ведь в случае самого Qt я ничего такого не добавляю, а принцип работы тот же. Вобщем непонятки.

или сделайте include (/path/to/qxt.prf) в вашем pro
добавил в .pro-файл строку "include(/usr/share/qt4/mkspecs/features/qxt.prf)", никаких изменений, всё работает, но так же подчёркивает
« Последнее редактирование: Июнь 14, 2011, 15:39 от serg_hd » Записан

kubuntu/Win7/x64/NetBeans
Fess
Гость
« Ответ #5 : Июнь 17, 2011, 05:38 »

отправьте баг разработчикам плагина к нетбинсу, возможно это их косяк..
Записан
ритт
Гость
« Ответ #6 : Июнь 17, 2011, 06:47 »

mkspecs/features/qxt.prf подключается посредством CONFIG += qxt - дублировать не нужно.
попробуйте добавить
Код:
DEPENDPATH *= $$INCLUDEPATH
в конец mkspecs/features/qxt.prf
(кажется, оно...документации под рукой нет)
Записан
serg_hd
Хакер
*****
Offline Offline

Сообщений: 668



Просмотр профиля
« Ответ #7 : Июнь 17, 2011, 15:16 »

попробуйте добавить
Код:
DEPENDPATH *= $$INCLUDEPATH
в конец mkspecs/features/qxt.prf
попробовал, не помогает
Записан

kubuntu/Win7/x64/NetBeans
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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