KDevelop (Code Completion)

IDE, VCS и прочее

Модератор: Модераторы разделов

Ответить
Аватара пользователя
0xFF
Сообщения: 267
ОС: Gentoo

KDevelop

Сообщение 0xFF »

Как сделать, чтобы например после записи

Код: Выделить всё

#include <vector>
using namespace std;
main()
{
vector<int> v;
v.

выводились свойства vector'а (push_back(), pop_back(), и т.д.)?

Пробовал в настройках Code Completion рекурсивно создать базу данных из /usr/include/c++/ , но требуемого не complet'ит, хотя после std:: выводится список свойств...
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458
Контактная информация:

Re: KDevelop

Сообщение powerfox »

Посмотрите FAQ по KDevelop, вопросы по code completion. Скорее всего, вам потребуются исходники STL.
Скоро появится FAQ на русском, я закончил перевод, жду, что скажут в kdeteam ru.
Спасибо сказали:
Аватара пользователя
0xFF
Сообщения: 267
ОС: Gentoo

Re: KDevelop

Сообщение 0xFF »

Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458
Контактная информация:

Re: KDevelop

Сообщение powerfox »

Я говорил про FAQ: http://kdevelop.org/mediawiki/index.php/FAQ

Вот русский вариант:

You can find help on the syntax used by this wiki in the [http://meta.wikimedia.org/wiki/Help:Editing mediawiki editing help page]

There is a [http://www.kdevelop.org/index.html?filename=faq.html non editable FAQ] and a [http://docs.kde.org/development/en/kdevelop/kdevelop/nutshell.html ''nutshell'' page in the user manual]



==FAQs по работе с файлами==

===Где находится менеджер Automake в KDevelop?===
Откройте вкладку в правой части окна KDevelop.
[[Image:Automake_manager.png]]


===Как создавать новые файлы в проекте?===
Выберите подпроект в верхней части менеджера Automake, затем правый клик мышкой в нижней части над названием группы, куда вы хотите добавить файлы и выберите Создать Новый Файл...

===Как удалять файлы из проекта?===
Выберите подпроект в верхней части менеджера Automake, затем в нижней части окна откройте список файлов группы, откуда вам необходимо удалить файлы, затем правый сщелчок мышкой по файлу и выберите Удалить...

===Как добавить существующие файлы в проект?===
Способ добавления в проект уже существующих файлов зависит от того, под какую платформу предназначен проект. Однако, вне зависимости от платформы вы возможно копировать существующие файлы исходных кодов в <code>src/</code> директорию вашего нового проекта KDevelop.

Кроме того:

<ul>
<li>Если вы выбрали проект, основанный на менеджере Automake(смотрите: [[FAQ#Где находится менеджер Automake в KDevelop?]]), то возможно добавлять существующие файлы, просто выбрав подпроект в верхней части менеджера Automake и нужную группу, куда нужно добавить файлы, в нижней, щёлкните правой кнопкой мыши и выберите в контекстном меню [http://docs.kde.org/development/en/kdevelop/kdevelop/automake-manager-operation.html "Добавить существующие файлы..."]

<li>Если вы выбрали проект, основанный на Qmake менеджере, то действие идентично работе с менеджером Automake.

<li>Если вы выбрали проект, основанный на вашем Makefile, то вам придётся самим править ваш Makefile, чтобы добавить файлы в проект.

</ul>


==FAQs по работе с проектами==

===Как конвертировать мой VC++ проект?===
KDevelop не предоставляет возможности автоматического импортирта вашего VC++ проекта. Однако, вы можете конвертировать проект, создав новый проект KDevelop, используя шаблоны Мастера Новых проектов, таких как шаблон C++->Simple Hello World. Затем вы можете копировать исходные файлы (*.cpp and *.h) из вашего VC++ проекта в <code>src/</code> директорию вашего нового Automake проекта. Наконец, проследуйте приведённым выше инструкциям, чтобы добавить существующие файлы в проект.


Частичным решением проблемы может стать использование скрипта <code>dsw2make</code>, он получает файл проекта(*.dsw) VC++ с его dsp файлами и создаёт Makefile для каждого из них. Хотя это работает, но могут возникать некоторые несоответствия, обычно связанные с related to the paths, case sensitivity и CR/LF. Если возникает проблема с CR/LF используйте приложения подобные <code>dos2unix</code> или <code>d2u</code> для её разрешения. Теперь вы должны иметь обычный проект, основанный на наборе мейкфайлов. Импортируйте проект, как уже существующий проект.
A semi solution may be to use the <code>dsw2make</code> script, it takes a VC++ project file (*.dsw) with it's descendent dsp files and produces a Makefile for each one of them. Make sure it works as some mismatches may occur usually it related to the paths, case sensitivity and CR/LF. If a CR/LF problem appears use applications such as <code>dos2unix</code> or <code>d2u</code> to solve the problem. At this point you should have a regular project based on a makefiles chain. Import the project as an existing project.


===Как создать полностью пустой проект?===
*Выберите ''проект->Новый проект...->C++->Simple Hello World program'' и создайте проект.
*[http://docs.kde.org/development/en/kdevelop/kdevelop/automakemanager-operation.html Удаление из проекта единственной цели]
*Выберите ''Удалить также исходные файлы'' в сплывающем диалоге


===Как создать простой проект всего лишь с Makefile(также известный как Custom Makefiles project, простой проект)?===
Создание простого проекта. Нет прямого пути, чтобы создать простой проект(использующий собственные makefile). Вместо этого используйте Проект->Импортировать существующий проект. Не забудьте выставить соответствующий Тип Проекта "Custom Makefiles" в диалоге. По-любому, создавая новый проект, не забудьте выставить нужные опции Проект->Параметры Проекта... для ваших нужд.



===Как создать простой Automake проект с иерархией директорий?===
Для того чтобы создать проекты с иерархией директорий, где каждая папка содержит группы cpp/h файлов, которые должны быть собраны с отдельные исполняемые бинарные файлы.


Пример:
src
src/gui
src/gui/components
src/logic
src/logic/algorithms
src/logic/sublogic

Это можно сделать, используя convenience libraries(вспомогательные библиотеки). Файлы каждой поддиректории будут скомпилированы и скомпонованы в библиотеки libtool, после чего все библиотеки libtool компонуются в единый исполняемый файл и связываются с используемыми библиотеками.

*<b>Шаг 1</b>:
**В менеджере Automake добавьте подпроект для каждой поддиректории:
**Automake Manager -> [RMB на поддиректории] -> Добавить Подпроект

*<b>Шаг 2</b>:
**Добавьте цель для объектного файла(Libtool target) в каждом подпроекте и свяжите эти библиотеки с .cpp файлами в поддиректории:
*** Automake Manager -> [RMB на поддиректории] -> Add Target...
*** Primary: Libtool Library
*** Prefix: noinst
*** File name: <имя вашего файла>.la

*<b>Шаг 3</b>:
**Добавьте библиотеки в ваш исполняемый файл
***Automake Manager -> [RMB на бинарнике] -> Options -> Libraries

*<b>Шаг 4</b>:
**Добавьте зависимости библиотек для каждого подпроекта
**Если "labalgo.la" зависит от классов из "libbase.la":
***Automake Manager -> [RMB на libalgo] -> Options -> Libraries (проверьте отметку для libbase.la)

Пример:
src/logic/base [libbase.la]
src/logic/algorithm [libalgo.la]

<b>Примечание</b>: Если вы забыли указать зависимости, добавьте верные зависимости, выполните clean для подпроекта, перекомпилируйте этот проект (F8).



===Что позволяют делать "build configurations" (Project Options->Configure Options)
*<b>debug</b>:
**отдельная директория сборки устанавливается как "debug"
**-g3 -O0 опции компилятора позволяют делать отладку без проблем с оптимизацией
*<b>optimized</b>:
**Отделяет "optimized" директорию компиляции
**Флаги -O2 -g0 включают оптимизацию и выключают отладочную информацию(Прим. перев.: 2 - уровень оптимизации)
*<b>default</b>:
**Никакие дополнительные опции, флаги компилятора, директории сборки не устанавливаются
**Библиотеки и бинарные файлы будут находится среди исходных файлов
**<b>Важно!</b> Не используйте "default"(конфигурацию по умолчанию) одновременно с "debug"(отладочная версия) и "optimized"(оптимизированная версия). "debug" и "optimized" могут быть использованы вместе без проблем, так как для них устанавливаются различные директории сборки.


* Once you configured your project with default it will no longer build with debug or optimized.
* Once you configured your project with debug or optimized it will no longer build with default.
===Что делать, если проект не собирается повторно после переключения на/от цели по умолчанию?===
Это проблема с automake/autoconf. Если Project->Build Configuration позволяет выбирать из трёх сборочных директорий: default, optimized, and debug, выберите везде либо default, либо debug/optimized цели.


===Как добавить подпроект?===

Выберите automake-менеджер. В верхней части находятся проекты. Чтобы добавить подпроект, выберите проект, куда его следует добавить, затем щёлкните по иконке "add subproject". Появится новая папка с именем подпроекта (в файловой системе и менеджере Automake).

Теперь вам нужно создать libtool-target для нового проекта. Если это уже сделано, сделайте цель активной и добавьте туда файлы.

libtool-target в подпроекте может быть связана с главным исполняемым файлом(binary-target): правый клик -> "settings". В вкладке "libraries" выберите соответствующую вспомогательную(help-library) библиотеку(.la файл)


===Что делать, если <i>automake & friends</i> завершается со странными ошибками?===
Откройте консоль в корневой директории вашего проекта и выполните:
<pre>libtoolize --copy --force</pre>
Это должно решить проблему конфликта версий autotools между KDevelop и вашей установленной системой.


===У меня появляется сообщение "Wrong autoconf version" и т.п. Ошибка. Что делать?===
Есть несколько ошибок о старых версиях autoconf и т.п. Запустите autoreconf в директории, где находятся configure.in файлы, о которых появляются ошибки. Это команда обновит информацию о системных сборочных файлах GNU. Смотрите man autoreconf для подробной информации.


===Как можно рабртать с Qt4 и KDevelop-3.3.x? ===
*Если вы используете qmake, KDevelop запускает qmake из PATH(прим. перев.: PATH - переменная окружения), так что qmake из qt4 должен быть первым в PATH(http://bugs.kde.org/show_bug.cgi?id=119107). Поэтому не используйте kdevelop как обычно, вместо этого используйте скрипт:

#!/bin/sh
export QTDIR=/devel/kde/src/4/qt-copy
export PATH=$QTDIR/bin:$PATH
exec kdevelop $*

*Вторая сложность в том, что встроенный Qt designer является копией Qt3. Поэтому нужно использовать Qt4 designer для .ui файлов. Это делается в 2 шага:

Embed KDevDesigner=false

Создайте ~/.kde/share/applnk/.hidden/designer.desktop со следующим содержанием (поправьте путь для своего Qt4)
[Desktop Entry]
Type=Application
Exec=/devel/kde/src/4/qt-copy/bin/designer
Name=Qt Designer
GenericName=Interface Designer
MimeType=application/x-designer
Icon=designer


Полный петь к Qt дизайнеру необходим там, даже если он корректно указан в PATH в KDevelop. Это связано с тем, что KDevelop запускает Qt designer не напрямую, а через kdeinit...

*Используйте "Hello World" для создания нового проекта вместо "Application", иначе ваш первый Qt4 проект будет портом Qt3->Qt4 :)


===Как можно использовать SCons в проекте? ===
[http://www.scons.org SCons] - программа сборки приложений. KDevelop (as of version 3.2.2) не поддерживает SCons напрямую. Однако, это легко включить в проект, использую SCons, создав "stub"(короткий) Makefile и используя тип проекта "Custom Makefiles". Вот пример короткого Makefile(учтите, что строки после задания имени цели должны начинаться с tab, а не пробела):
project_name:
scons
clean:
scons --clean
Это позволит работать ''Build Project'' и ''Clean Project''



==FAQ по библиотекам==


===Создание динамической библиотеки(a.so)===
*[http://docs.kde.org/development/en/kdevelop/kdevelop/automake-manager-operation.html Добавление цели в проект]
**''primary:'' program
**''prefix:'' bin
**''file name:'' libxxx
**''Linker Flags->Other:'' -shared -Wl,-soname,libxxx.so.1 -o libxxx.so.1.0.1

*Добавьте cpp/h файлы для данной цели
*[http://docs.kde.org/development/en/kdevelop/kdevelop/automake-manager-operation.html добавление ''флагов компилятора для c++''] -fPIC

Также есть способ, основанный на libtool:
*Добавьте подпроект "libxxx"
*Добавьте цель
*Выберите "Library (libtool)"
*Выберите "lib".
*Впишите имя библиотеки "xxx"
*Добавьте файлы
*Соберите проект(Используя 'Build project' или F8)
Теперь у вас должна быть новая библиотека с именем libxxx.so.0.0.0


===Как создать статическую библиотеку(a.a)?===
*[http://docs.kde.org/development/en/kdevelop/kdevelop/automake-manager-operation.html Добавление цели в проект]
**''primary:'' Library
**''prefix:'' noinst
**''file name:'' имя_библиотеки
*Добавьте cpp/h файлы для цели


===Как создать библиотеку a.la (известную как libtool архив)?===
*[http://docs.kde.org/development/en/kdevelop/kdevelop/automake-manager-operation.html Добавление цели в проект]
**''primary:'' Libtool Library
**''prefix:'' noinst
**''file name:'' имя_библиотеки
*Добавьте cpp/h файлы для цели


===Как добавить в проект внешний путь к заголовочным файлам?===
Когда ваш проект использует <em>GNU Autotools</em> ([http://www.gnu.org/software/autoconf/ Autoconf]/[http://sources.redhat.com/automake/ Automake]), вы наверняка используете KDevelop Automake manager(см. [[FAQ#Где находится менеджер Automake в KDevelop?]]). Чтобы добавить путь к заголовкам:
*выберите <em>подпроект</em>, куда следует добавить путь(в верхней часть AutoMake менеджера)
*выберите <em>Options...</em>, щёлкнув правой кнопкой мыши или нажав по иконке с гаечным ключом
*в вкладке <em>Includes</em> добавьте нужный путь во второе окно(<em>Directories outside of project</em>). просто введите путь после <em>-I</em>(без пробелов между).


===Как слинковать программу с динамической библиотекой(a.so)?===
Когда ваш проект использует <em>GNU Autotools</em> ([http://www.gnu.org/software/autoconf/ Autoconf]/[http://sources.redhat.com/automake/ Automake]), вы наверняка используете KDevelop Automake manager(см. [[FAQ#Где находится менеджер Automake в KDevelop?]]). Чтобы слинковать с библиотекой или добавить библиотеку:
*выберите <em>подпроект</em>, куда следует добавить путь(в верхней часть AutoMake менеджера)
*выберите <em>Options...</em>, щёлкнув правой кнопкой мыши или нажав по иконке с гаечным ключом
*Во вкладке "compiler" добавьте библиотеку во второе поле (<em>link libraries outside of project</em>). Просто введите имя библиотеки без префикса lib и без расширений <em>.a</em> или <em>.so</em>, или <em>.la</em>.
**Например, если вам надо добавить <em>libsomelib.so</em>, тогда вы должны написать <em>-lsomelib</em>.
* Если эта библиотека лежит вне ваших системных библиотек, добавьте <code>-Lpath/to/the/library/you/used</code> в <code>LDFLAGS</code> в <em>Project->Project Options...->Configure Options->Linker Flags(LDFLAGS):</em>.

Не забудьте добавить месторасположение заголовочных *.h файлов вашей библиотеки для бинарника: [[FAQ#Как добавить в проект внешний путь к заголовочным файлам?]]


===Как слинковать программу со статической библиотекой(a.a)?===
Это идентично [[FAQ#Как слинковать программу с динамической библиотекой(a.so)?]]

===Как слинковать программу с *.la библиотекой?===
Это идентично [[FAQ#Как слинковать программу с динамической библиотекой(a.so)?]]

Дополнение:
Есть другой, более удобный, способ линковки <em>mybinary</em> с <em>somestuff.la</em>. Допустим, что <em>libsomestuff.la</em> находится в <em>$(somedir)</em>, тогда вместо <code>-lsomestuff -L$(somedir)</code> можно просто добавить <code>$(somedir)/libsomestuff.la</code>. Тогда линковщик увидит эту библиотеку.

Вот полный процесс(как описано выше):
*выберите <em>подпроект(subproject)</em>, куда следует добавить путь(в верхней часть AutoMake менеджера)
*выберите <em>Options...</em>, щёлкнув правой кнопкой мыши или нажав по иконке с гаечным ключом.
*Во вкладке "compiler" замените <code>-l</code> на <code>$(somedir)/libsomestuff.la</code> во втором поле(<em>link libraries outside of project</em>).

Это тоже самое, что линковать convenience libraries(вспомогательные библиотеки) в пределах того же проекта, проверьте эти библиотеки в верхнем поле (<em>Link convenience libraries inside project</em>).

Небольшая деталь:
Библиотеки добавляются в <code>mybinary_LDADD</code> в соответствующем Makefile.am. Переменная LDADD может обрабатывать libtool archives напрямую, читая расположение нужной библиотеки и соответственно добавляя информацию.


==FAQs по отладке==


===Отладка консольного приложения: Как мне заставить показывать консоль, чтобы я мог осуществить ввод?===
В опциях проекта, во вкладке Debugger, выберите ''Enable separate terminal for application IO''


=== Как отлаживать бинарные объекты с libtool "temporary wrapper scripts"? ===
Когда строите <code>ltlibraries(Прим. перев.: возможно, имеются в виду linux temporary libraries)</code> и линкуете с бинарником, libtool(Пр. перев., как я понимаю, подразумевается ld, man ld) создаёт wrappers(упаковщики) для них, но gdb пишет, что "not in executable format: File format not recognized(неисполняемый формат: тип файла не опознан")
Чтобы всё работало:<pre>
Project -> Project Options -> Debugger -> Debugging shell -> libtool --mode=execute </pre>


==FAQs по автодополнению кода==


===Как я могу включить автодополнение кода?===
Когда у вас открыт C/C++ проект, зайдите в меню Project->Project Options, выберите вкладку C++ Specific, затем вкладку Code Completion. Выберите Automatic Code Completion и другие установки. Также в Settings->Configure KDevelop->C++ Parsing вы можете подключить и настроить парсер, работающий в фоновом режиме.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

===How to teach new macros to the C/C++ parser?===
KDevelop's current parser does not parse files in order. If you need to teach new macros to the C/C++ parser, the best way to do this is to parse a fake file that contains only macro definitions before parsing the source files. This is what the <em>C++ Parser Settings</em> dialog is for. The contents of this fake source file is the text you edit in the <em>C++ Parser Settings </em> dialog, which will be parsed first anytime that you load a project.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

===Как обучить анализатор новым макросам для С/С++?===
В настоящее время анализатор KDevelop обрабатывает файлы не по порядку. (Прим. перев.: Очевидно, имеется в виду, что он не отслеживает зависимости между файлами). Если вам необходимо создать новый макрос для автодополнения кода на С/С++, лучший способ проанализировать заготовочный(fake) файл, содержащий только макроопределения, лишь потом исходные файлы. Вот для чего существует диалоговое окно <em>C++ Parser Settings</em>. Содержимым этой заготовки кода является текст, который вы редактируете в диалоге "парсер сеттингс", который будет распознан первым при каждой загрузке проекта.


===Как включить автодополнение для внешних(сторонних) библиотек?===
Если у вас открыт С/С++ проект, зайдите в Project->Project Settings, в Project Options выберите вкладку C++ Specific, затем Code Completion. Затем нажмите на "Add...", после чего следуйте указанием утилиты настройки New Persistent Class Store. После завершения настройки убедитесь, что только что созданный класс выбран в списке "persistent class stores" во вкладке Code Completion.

===Code completion still doesn't work===
Try disabling the abbreviation part - it often presents a completion popup before the completion engine gets a chance to do so.

===Автодополнение кода по-прежнему не работает===
Попробуйте отключить "abbreviation"(Прим. перев.: очевидно, имеется в виду автозавершение по первым буквам), это обычно включено в сплывающем окне Автодополнния прежде, чем программа даёт возможность это сделать.


===Почему мой Qt4 Persistent Class Store не работает для всех Qt4 классов?===
Большинство заголовочных файлов Qt4 начинаются с '#include "../../src/blah.h", что KDevelop не может обработать. Чтобы работать с ними, попробуйте использовать src директорию(с исходниками) Qt4, создавая базу автодополнения.


==FAQs по установке KDevelop==


===Сколько времени занимает компиляция kdevelop?===
Это зависит от скорости вашей машины. На P4 3GHz компиляция занимает 40 минут в первый раз. После обновления через CVS, обычно время сборки сокращается. Мы предполагаем, что время сборки может быть от 1часа до двух после первой загрузки приложения.

Неплохо было бы использовать gcc-4.0.1. Это может значительно уменьшить время компиляции. Компиляция с включённой отладкой("./configure --enable-debug=full" with -g -O0 опции) увеличивает скорость на 45%, а компиляция релиза("./configure --enable-debug=no" with -O2 flag) - на 16%. Например, на AthlonXP1600 / 256Mb RAM новая сборка с отладкой занимает 45 минут при использовании gcc-4 и 81 минуту с gcc-3.3.1. Чтобы ещё сильнее ускорить сборку можно использовать самый свежий пакет libtool(из CVS HEAD)

Обычно удобно устанавливать gcc-4 в /usr/local, а gcc-3.x в /usr. Кроме того, KDevelop возможно собрать с gcc-4 не пересобирая остальное ПО(Qt, KDE...).

Замечание! Не используйте gcc-4.0.0, так как у него возникают ошибки кодогенерации(Прим. перев.: очевидно, подразумевается оптимизации и генерация промежуточного кода)! gcc-4.0.1 и поздние версии лишены этой проблемы.


===Система выдаёт ошибку "couldn't create a language plugin(ошибка создания языкового плагина)". Что не так?===
Как и для любого другого приложения KDE, следует проверить, распознались ли KDE плагины для KDevelop. Либо установите их в вашу директорию KDE (например, configure --prefix=/opt/kde3), либо добавьте путь для KDevelop в переменную KDEDIRS и перезапустите "kbuildsycoca". Пример команды в консоле(для случая, когда KDevelop установлен в /home/harry/kdevelop):
export KDEDIRS=/home/harry/kdevelop:$KDEDIRS && kbuildsycoca

==FAQs по лицензиям==


===Можно ли разрабатывать коммерческие приложения, используя KDevelop?
Любой может использовать KDevelop по своему усмотрению. Сгенерированный код может распространяться под любыми лицензиями, поэтому в генератор добавлена возможность вставлять свои копирайты в генерируемые файлы, но лицензией по умолчанию выбирается GPL. Вместо неё вы можете добавить свою лицензию.
Для редактирования и прочих нужд KDevelop использует другие GPL программы, не делая акцента на том, что использует. Вы можете писать коммерческие/закрытые программы.
Используя библиотеки KDE или любые другие свободные библиотеки, нужно следить только за лицензионными соглашениями сторонних библиотек. Для разработки коммерческих приложений с использованием KDE/Qt вам нужна коммерческая лицензия от Trolltech. Библиотеки KDE используют LGPL, что позволяет использовать библиотечные вызовы, линковать вашу программу с библиотеками KDE. Это относится к библиотекам kdelibs, kdebase(konqueror, kcontrol и т.д.), koffice(для создание приложений koffice).
Для дополнительной информации посетите KDevelop Licensing.


===Разрешено ли создавать коммерческие плагины для KDevelop?===
KDevelop включает в себя библиотеку libkdeveloplgpl.so для создания коммерческих плагинов. В этой библиотеке находятся интерфейсы и утилиты, реализованные по LGPL. Если у вас есть коммерческая лицензия от Trolltech, вы можете линковать ваш код с libkdeveloplgpl и выпускать программу под любой лицензией.


==Различные FAQs==


===Я разрабатываю приложение, нуждающееся в обработке исключений. Как мне это реализовать?===
Отредактируйте файл configure.in(.in) в корневой директории исходных кодов и создайте в нём AC_CHECK_COMPILERS() macro:
CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS"
после этого пересоздайте ваш "configure", выполнив
make -f Makefile.dist
в корневой директории исходников и перезапустите configure скрипт.


===В configure.in.in отсутствует вызов AC_CHECK_COMPILERS(). Куда следует поместить CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS", упомянутый выше?
Новые версии configure.in.in были упрощены, теперь возможно добавить этот макрос после AM_INIT_AUTOMAKE(<package-name>,<version>).


===Существует ли HOWTO по работе с окнами, сделаными в QT designer?===
Да, есть прекрасный туториал на http://women.kde.org/articles/tutorials/kdevelop3/index.html


===Почему не видно ошибок при компиляции?===
Если во время компиляции вы заметили, что некоторая важная информация отсутствует в окне Messages Output, возможно, уровень детализации сообщений слишком низок. Выберите другой уровень в контекстном меню после правого щелчка в окне.


===Как добавить перевод для KDE программы?===
Сначала выполните "Build->Create Messages&Merge", затем добавьте новый перевод через ''Project->Add Translation''. Это создаст файл po/$lang.po. Файл $project.pot содержит все строки.


===Как добавить в проект иконки?===
Сначала добавьте новый подпроект через который менеджер automake будет грузить изображения, затем правый щелчок над новым подпроектом, выберите ''Options" -> ''Prefixes". Добавьте новый префикс, например, mypics и путь ''$(kde_datadir)/$project/pics''. После этого создайте новую цель в подпроекте pics и выберите Primary: Data, Prefix: mypics и любое подходящее имя. Затем добавьте иконки для новой цели. Загрузка изображений может быть осуществлена включением заголовочного файла ''kiconloader.h'' и соответствующего кода, загрузающего изображение с именем config на кнопку: ''button->setPixmap(UserIcon("config"))''.


===Как использовать SVN плагин?===
Нужно вручную импортировать проект и исходные файлы в SVN репозиторий, затем перезапустить KDevelop, после чего контекстное меню SVN должно появляться после правого щелчка мышью над файлами. Модуль SVN проверяет наличие <code>.svn</code> в той же директории, где находится выбранный файл.

Чтобы получить более подробную информацию посетите: http://www.kdevelop.org/phorum5/read.php?2,23286


===Как использовать различные компиляторы (родные или кросс компиляторы)===
Компиляторы выбираются для проекта в:
* ''Project->Project Options->Configure Options'' (проекты autotools только, custom проекты не имеют такой вкладки)
* Добавьте новое имя для конфигурации, например, "<имя компилятора>-<платформа>-debug(отладка)"

Вкладка "General":
* устанавливает параметры конфигурации (например, параметры --host и --build для кросс компиляции)
* устанавливает директорию сборки, для избежания проблем используйте то же имя, что и для конфигурации.
* выставляет нужные (флаги) переменные(LDFLAGS, ENV)
Вкладка "C":
* устанавливает имя вашего С компилятора, например, CC, gcc, icc, kcc, ... (кросс-компиляторы тоже!)
* устанавливает флаги, какие возможны(CFLAGS)
Вкладка "C++":
* устанавливает имя вашего С++ компилятора, например, e.g. cc, g++, ... (кросс-компиляторы тоже!)
* устанавливает флаги, какие возможны(CXXFLAGS)

Вкладка "Fortran":
* устанавливает имя вашего Fortran компилятора, например, e.g. g77, g90, gfortran, ... (кросс-компиляторы тоже!)
* устанавливает флаги, какие возможны(FFLAGS)

Закройте меню опций, выберите вашу конфигурацию в ''Project->Build Configuration', затем запустите ''Automake & Friends'', ''configure'' and ''make''.

Например, для того создать конфигурацию кросс компелирования для sparc-sun-solaris2.9:
* Project -> Project Options -> Configure Options
* Добавьте новое имя для конфигурации, например, "sparc-debug""
* Аргументы для сборки:
--host=i686-pc-linux-gnu -- build=sparc-sun-solaris2.9
* Директория сборки:
sparc-debug
* Во вкладке С измените имя компилятора на кросс компилятор, например, sun-solaris-sparc2.9-gcc
* Во вкладке С++ измените имя компилятора на кросс компилятор, например, sun-solaris-sparc2.9-g++
* Automake & Friends
* configure
* make

Информация по кросс отладке:
[http://groups.google.com/group/comp.os.linux.embedded/msg/c3245a344f01fe1f?q=remote+debug+kdevelop&hl=en&lr=&ie=UTF-8&rnum=3 Remote debugging using KDevelop 3.0 in comp.os.linux.embedded newsgroup] или
[[Cross_debugging]].
[http://www.kdevelop.org/phorum5/read.php?2,23503 kdevelop.org forum] также содержит немного информации.

Убедитесь, что исполняемые файлы и библиотеки для кросс компилятора доступны через переменные $PATH and $LD_LIBRARY_PATH!

Бывает необходимо поменять некоторые макросы autoconf/automake в ''configure.in'' для полной поддержки компилятора -- почитайте последнее сообщение в этом документе
[http://www.kdevelop.org/phorum5/read.php?8,27808 kdevelop.org forum] как заставить ''gfortran'' (компилятор GNU F90) работать.


===Работа со снимками Clearcase и KDE===
Файлы Clearcase обычно находятся в '/usr/vobs/...', исполняемые файлы могут содержать на них ссылки. Если ваш проект KDevelop использует другой путь(например, '/view/[view name]/usr/vobs'), возможны некоторые проблемы с двойным открытием файлов, создаёт проблемы с брэкпойнтами(точками останова) и редактированием.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

If kdevelop is started from a shell inside a clearcase view, it still will be unable to see '/usr/vobs/...' unless KDE was itself started in a clearcase view.
The following approach solves these problems:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Если kdevelop запускается из консоли внутри директории clearcase, он не сможет найти '/usr/vobs/...', если KDE сама не запустилась в директории clearcase. Это можно решить таким образом:

<tt>cp /etc/X11/xinit/xinitrc ~/.xinitrc</tt><br>
замените предпоследнюю строчку с <br>
<tt>exec $WINDOWMANAGER</tt><br>
на<br>
<tt>/opt/rational/clearcase/rhat_x86/bin/cleartool setview -exec $WINDOWMANAGER ViewName</tt>

где <tt>ViewName</tt> - имя снимка, который используется.

Unfortunately this does seem to cause problems with non-KDE applications (eg. firefox) and has locked up my machine. The other alternative is to use another window manager such as Gnome.

К сожалению, это может создать продлемы для не KDE приложений (например, firefox) и вешать ваш компьютер. Альтернативой может стать выбор другого графического менеджера, такого как Gnome.
Спасибо сказали:
Аватара пользователя
0xFF
Сообщения: 267
ОС: Gentoo

Re: KDevelop

Сообщение 0xFF »

powerfox писал(а):
12.08.2006 17:22
К сожалению, это может создать продлемы для не KDE приложений (например, firefox) и вешать ваш компьютер. Альтернативой может стать выбор другого графического менеджера, такого как Gnome.


описочка ;)

Спасибо :)
Спасибо сказали:
Аватара пользователя
alastor
Сообщения: 844
Статус: ARCH'еноид
ОС: Arch Linux current
Контактная информация:

Re: KDevelop

Сообщение alastor »

powerfox, за перевод ФАКа огромный респект!
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458
Контактная информация:

Re: KDevelop

Сообщение powerfox »

(alastor @ Aug 16 2006, в 12:37) писал(а):powerfox, за перевод ФАКа огромный респект!

Надеюсь, что это станет моей работой в kdeteam, пока не стану программером.
Что-то всё нет ответа от одного из членов команды, наверное, занят.
Спасибо сказали:
Аватара пользователя
oav
Бывший модератор
Сообщения: 296

Re: KDevelop

Сообщение oav »

0xFF писал(а):
11.08.2006 19:04
Как сделать, чтобы например после записи

Код: Выделить всё

#include <vector>
using namespace std;
main()
{
vector<int> v;
v.

выводились свойства vector'а (push_back(), pop_back(), и т.д.)?

Пробовал в настройках Code Completion рекурсивно создать базу данных из /usr/include/c++/ , но требуемого не complet'ит, хотя после std:: выводится список свойств...

Есть подозрение что парсер комплитера не умеет шаблоны рюхать, аха
Спасибо сказали:
Аватара пользователя
0xFF
Сообщения: 267
ОС: Gentoo

Re: KDevelop

Сообщение 0xFF »

Дык это баг, или вообще не умеет?
Спасибо сказали:
Аватара пользователя
oav
Бывший модератор
Сообщения: 296

Re: KDevelop

Сообщение oav »

0xFF писал(а):
16.08.2006 16:54
Дык это баг, или вообще не умеет?

Это подозрение :D
Спасибо сказали:
sdk
Бывший модератор
Сообщения: 210

Re: KDevelop

Сообщение sdk »

У меня точно такое же подозрение :).
Кстати, а ctags сам по себе темплэйты поддерживает?

powerfox,
Пока проглядывал мельком - у тебя там опечатка есть вместо "путь" стоит "петь".
"петь к Qt дизайнеру" или нечто в этом роде. Думаю, найдешь ;).

Я к вам пою, чего же боле... :D
Серьезность - это способ сделать простые вещи сложными.
Если много знать - устанут глаза. Если много спать - то нет.
Нас никому не сбить с пути - нам пофигу куда идти.
:-)
Спасибо сказали:
Аватара пользователя
powerfox
Сообщения: 458
Контактная информация:

Re: KDevelop

Сообщение powerfox »

sdk, спасибо. :) Исправил, но отправлен был вариант с "петь".
Спасибо сказали:
Ответить