From: Gleb Kulikov <glebus@asd.iao.ru> To: community@altlinux.ru Subject: Re: [Comm] Re: KDevelop не находит QT Date: Sun, 6 Feb 2005 22:59:16 +0600 Message-ID: <200502062259.17107.glebus@asd.iao.ru> (raw) In-Reply-To: <4205DE92.9030804@mtu-net.ru> В сообщении от Воскресенье 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 Проект -> параметры проекта -> параметры сборки -> Вкадка "Собрать": [!] Make [ ] Ant Запускать средство сборки в каталоге -- тут пишешь корень проекта, именно тут должен лежать Sconstruct. Вкладка "Make": имя исполняемого файла make: "scons ." Всё. Из того вывода, что ты привёл, такое впечатление, что scons пытается читать Makefile.cvs вместо Sconstruct'а, что совершенно не надо делать (уверен, что в параметрах scons у тебя стоит точка?). Понятно, что 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) всё, у меня работает без проблем, проверено уже не на одном проекте. Кстати, быстрее, чем "родной" мэйк. -- Салют, /GLeb UIN: 15341920 jabber://gleb@asd.iao.ru netmail: 2:5005/78
next prev parent reply other threads:[~2005-02-06 16:59 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2005-02-04 21:26 [Comm] " Oleg N. Kayunov 2005-02-04 21:43 ` [Comm] " Arioch 2005-02-05 7:50 ` Michael Shigorin 2005-02-05 9:06 ` Oleg N. Kayunov 2005-02-05 9:09 ` Genix 2005-02-05 11:20 ` Oleg N. Kayunov 2005-02-05 11:39 ` Genix 2005-02-05 13:17 ` Oleg N. Kayunov 2005-02-05 19:20 ` Oleg N. Kayunov 2005-02-06 7:09 ` Gleb Kulikov 2005-02-06 9:08 ` Oleg N. Kayunov 2005-02-06 16:59 ` Gleb Kulikov [this message] 2005-02-06 20:15 ` Oleg N. Kayunov 2005-02-07 3:32 ` Gleb Kulikov 2005-02-07 11:23 ` [Comm] scons (was: Re: KDevelop не находит QT) Nick S. Grechukh 2005-02-07 0:19 ` [Comm] Re: KDevelop не находит QT Igor Zubkov 2005-02-07 11:58 ` Gleb Kulikov 2005-02-07 16:13 ` [Comm] [JT] " Michael Shigorin 2005-02-07 16:39 ` Gleb Kulikov 2005-02-05 9:06 ` [Comm] " Oleg N. Kayunov 2005-02-07 16:00 ` [Comm] " Eugene A. Suchkov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=200502062259.17107.glebus@asd.iao.ru \ --to=glebus@asd.iao.ru \ --cc=community@altlinux.ru \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git