[Comm] Re: KDevelop не находит QT

Oleg N. Kayunov =?iso-8859-1?q?okayunov_=CE=C1_mtu-net=2Eru?=
Вс Фев 6 23:15:23 MSK 2005


Gleb Kulikov пишет:

>В сообщении от Воскресенье 06 Февраль 2005 15:08 Oleg N. Kayunov написал:
>  
>
>>>проекта KDevelop'а с этим жутким autotools и т.п.: scons проще и удобнее,
>>>и таких заморочек не замечено :) (в свойствах проекта, указать custom
>>>makefiles и команду "make" как "scons .")
>>>      
>>>
>
>  
>
>>В каких именно Закладке->Листе именно пункте меню-пункта "Параметры
>>проекта" (так?) это указать?
>>Пока нашел только "Параметры проекта"->"Параметры make"->"Название
>>исполняемого файла make", поставил scons. Но получаю:
>>*scons: Reading SConscript files ...
>>*File "Makefile.cvs", line 1
>>    
>>
>
>Проект -> параметры проекта -> параметры сборки -> 
>  
>
    Вот тут-то и облом - есть "Параметры configure", "Параметры запуска" 
и "Параметры make", ни в одном нет вкладки собрать (таковая есть только 
в Doxygen, но это как-то....) и нет кнопки  [ ] Ant.
    А какая версия Kdevelop?
У меня - 3.04 для KDE 3.2.3.

>Вкадка "Собрать":
> [!] Make
> [ ] Ant
>Запускать средство сборки в каталоге -- тут пишешь корень проекта, именно тут 
>должен лежать Sconstruct.
>
>Вкладка "Make":
> имя исполняемого файла make: "scons ."
>  
>
    это, в "Параметры make" сделано.

>Всё. Из того вывода, что ты привёл, такое впечатление, что scons пытается 
>читать Makefile.cvs вместо Sconstruct'а, что совершенно не надо делать 
>(уверен, что в параметрах scons у тебя стоит точка?).
>  
>
    Не стоит :-(
Поставил. Те же яйца, вид сбоку.
И ведь по-прежнему пытается читать именно Makefile.cvs.

>Понятно, что Sconstruct/SConscript, при таком раскладе, надо делать руками: 
>Kdevelop ничего о них не знает.
>  
>
    Как делать?
Где почитать?
Я о них только вот сейчас, впервые слышу.

>Для сборки QT программ, SConscript может быть тривиальным, типа
>
>#... что-то делаем,
>
    Во-во...
Можно простенький, но реальный пример намылить?
В личку - если нет уверенности, что еще кому-то на пользу может пойти.

> если надо...
>#... определяем списки define-ов и т.п., если надо...но нужно указать 
>#инструменты qt!, типа
>
>env = Environment(CCFLAGS = defines, LIBPATH = libs, LIBS = ["pthread"], \
>tools=['default', 'qt'])
>Export('env')
>
>здесь defines и libs -- ранее определённые списки глобальных дефайнов и 
>библиотек
>
># собственно исходники и т.п, указываем в SConscript, который кладём в 
>#соответствующий каталог проекта, например
># В SConstruct указываем. где его брать:
>
>#QT-версия интерфейса
>
>SConscript('src/QT/mainwin/SConscript',build_dir='src/QT/mainwin/build/linux',du
>plicate=0)
>
>#А в этом SConscript'е  тоже, всё как обычно, только надо указать включаемые 
>#каталоги QT, если ранее это не было сделано:
>
>Import('env')
>env.Append(CPPPATH="include")
>
>QTDIR="/usr/lib/qt3"
>QTINC="/usr/lib/qt3/include"
>gui_includes=["/usr/include/qwt","moc/","include","#mainwin"]
>
>qt_includes=[QTDIR+"/mkspecs/default"\
>,QTDIR\
>,QTINC\
>,"#widgets/bld"]
>
>#здесь /usr/include/qwt -- для используемого набора виджетов qwt,
># mainwin -- подкаталог в данном каталоге проекта, в котором файлы, отвечающие
># за главное окно
>#widgets -- - подкаталог в данном каталоге проекта, в котором файлы, 
>#отвечающие за собственные виджеты, и т.д -- принцип понятен
>
># практически обязательно определить "стандартные" define'ы
>gui_Cflags=["-D_REENTRANT", "-DQT_THREAD_SUPPORT","-D__LINUX__"]
>
># Ну, даьше, собственно, перечисляем исходники, нужные библиотеки, используем 
># определённые дефайны и собираем программу в подкаталоге exe, лежащем в корне 
>дерева проекта (так хочу :)
>
>gui_src = ["windowspectrometermain.ui","pgmain00.cpp"]
>gui_libs_For = ["qwt","qt-mt","Xext","X11","m","pthread"]
>
>all_includes = qt_includes+gui_includes
>
>env.Append(CPPPATH=all_includes)
>
>env.Program(target='#exe/qtmain00.exe',build_dir="build/linux",source=gui_src,
>CCFLAGS=gui_Cflags\
>, 
>LIBPATH=[QTDIR+"/lib","/usr/X11R6/lib","/usr/lib","#/libs"],LIBS=gui_libs_For)
>
>всё, у меня работает без проблем, проверено уже не на одном проекте. Кстати, 
>быстрее, чем "родной" мэйк.
>  
>
    Ну это, конечно, приятно, но вряд-ли при нынешних пнях критично.


-- 
== В действительности все обстоит совершенно иначе чем на самом деле. ==
	BR, Oleg N. Kayunov.




Подробная информация о списке рассылки community