Russian Qt Forum

Qt => Общие вопросы => Тема начата: serg_hd от Июнь 12, 2011, 21:25



Название: Qt config и Qxt
Отправлено: serg_hd от Июнь 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" и т.п.? Вот хотелось бы очень разобраться в данной архитектуре





Название: Re: Qt config и Qxt
Отправлено: serg_hd от Июнь 13, 2011, 12:13
Ни у кого никаких предложений ???


Название: Re: Qt config и Qxt
Отправлено: ddrtn от Июнь 14, 2011, 11:36
Обратите внимение на папочку features в Qxt. при инстале файлик qxt.prf экспортируется в директорию с Qt (по моему, в mkspecs/features). Собственно говоря, оттуда qmake знает все про qxt. чтобы netbeans знал про qxt ему в настройках проекта необходимо указать путь к заголовочным файликам.


Название: Re: Qt config и Qxt
Отправлено: Fess от Июнь 14, 2011, 12:27
пропишите нужные инклюды и либы руками, как вариант
или сделайте include (/path/to/qxt.prf) в вашем pro


Название: Re: Qt config и Qxt
Отправлено: serg_hd от Июнь 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)", никаких изменений, всё работает, но так же подчёркивает


Название: Re: Qt config и Qxt
Отправлено: Fess от Июнь 17, 2011, 05:38
отправьте баг разработчикам плагина к нетбинсу, возможно это их косяк..


Название: Re: Qt config и Qxt
Отправлено: ритт от Июнь 17, 2011, 06:47
mkspecs/features/qxt.prf подключается посредством CONFIG += qxt - дублировать не нужно.
попробуйте добавить
Код:
DEPENDPATH *= $$INCLUDEPATH
в конец mkspecs/features/qxt.prf
(кажется, оно...документации под рукой нет)


Название: Re: Qt config и Qxt
Отправлено: serg_hd от Июнь 17, 2011, 15:16
попробуйте добавить
Код:
DEPENDPATH *= $$INCLUDEPATH
в конец mkspecs/features/qxt.prf
попробовал, не помогает