KDevelop5/Manual/Building (compiling) projects with custom Makefiles/uk: Difference between revisions
(Importing a new version from external source) |
No edit summary |
||
(19 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
== Збирання (компіляція) проектів з нетиповими Makefile == | == Збирання (компіляція) проектів з нетиповими Makefile == | ||
У багатьох проектах спосіб збирання файлів коду та визначення тих файлів, які слід повторно зібрати у разі внесення змін до коду, виконується за допомогою файлів Makefile, обробку яких здійснює програма '''make''' (див., наприклад, [http://www.gnu.org/software/make/ GNU make]). У простих проектах нескладно створити такий файл власноруч. У великих проектах створення таких файлів часто покладається на '''GNU autotools''' (autoconf, autoheader, automake). У цьому розділі ми припускатимемо, що файл Makefile вашого проекту вже створено, вам просто потрібно вказати '''KDevelop''', у який спосіб слід взаємодіяти з цим файлом. | |||
{{ | {{Note_(uk)|1='''KDevelop''' 5.x не може працювати з '''GNU autotools''' безпосередньо на час написання цього підручника. Якщо відповідні інструменти використовуються у вашому проекті, вам доведеться запускати скрипт <code>./configure</code> або подібний до нього скрипт з командного рядка вручну. Якщо ви бажаєте зробити це з самого вікна '''KDevelop''', відкрийте панель інструмента '''Konsole''' (якщо потрібно, додайте цю панель у нижній частині головного вікна за допомогою пункту меню <menuchoice>Вікна -> Додати панель інструмента</menuchoice>), у якій можна буде віддати команду оболонці і вкажіть команду <code>./configure</code>.}} | ||
Насамперед, слід повідомити '''KDevelop''' про цілі збирання у вашому файлі Makefile. Передбачено два способи: вибір окремих цілей Makefile і вибір набору цілей, які потрібно збирати доволі часто. Для реалізації обох цих способів слід відкрити вікно інструмента '''Проекти''' натисканням заголовка вкладки <menuchoice>Проекти</menuchoice>, розташованої у лівій частині головного вікна '''KDevelop''' (якщо цього заголовка немає у вікні вашої програми, вище наведено настанови щодо додавання кнопки відповідного інструмента). Панель '''Проекти''' складається з двох частин. У верхній частині з заголовком '''Проекти''' показано список всіх ваших проектів, у якому можна розгортати пункти каталогів. У нижній частині з заголовком '''Вибір проекту''' показано список набори проектів, які буде зібрано, якщо ви виберете пункт меню <menuchoice>Проект -> Зібрати позначене</menuchoice> або натиснете клавішу <keycap>F8</keycap>; нижче ми поговоримо про цю частину докладніше. | |||
<span id="Building individual Makefile targets"></span> | <span id="Building individual Makefile targets"></span> | ||
=== | === Збирання окремих цілей з Makefile === | ||
У верхній частині панелі проектів розгорніть список одного з проектів, наприклад, того, для якого слід виконати збирання однієї з цілей Makefile. У списку ви побачите піктограми каталогів, файлів у каталозі верхнього рівня проекту, цілі Makefile, які вдалося визначити '''KDevelop'''. На знімку вікна ці категорії показано праворуч. Зауважте, що '''KDevelop''' певною мірою ''розуміє'' синтаксис Makefile і тому сам визначає цілі, визначені у файлі Makefile (хоча це розуміння і має певні обмеження: не буде показано складені або неявні цілі). | |||
[[ | [[File:Kdevelop-makefile-project.png|500px|thumb|center]] | ||
Щоб зібрати будь-яку з цілей у списку, наведіть на її пункт вказівник миші, клацніть правою кнопкою миші і виберіть у контекстному меню пункт <menuchoice>Зібрати</menuchoice>. Наприклад, виконання цих дій для цілі «clean» призведе до виконання команди «make clean». Повідомлення щодо виконання дій можна буде побачити у підвікні '''Збирання'''. Це вікно відповідає інструменту '''Зібрати''', отже його можна закрити і пізніше відкрити за допомогою пункту <menuchoice>Зібрати</menuchoice>, розташованої на панелі інструментів головного вікна. На нашому знімку цю кнопку розташовано праворуч внизу. | |||
<span id="Selecting a collection of Makefile targets for repeated building"></span> | <span id="Selecting a collection of Makefile targets for repeated building"></span> | ||
=== | === Вибір збірки цілей з Makefile для регулярного збирання === | ||
Клацання правою кнопкою миші на окремих пунктах цілей швидко втомлює. Набагато простіше було б створити для одного або декількох проектів окремі цілі, які постійно збираються протягом розробки. З цією метою у середовищі реалізовано «збирання позначених цілей»: збирання наборів цілей Makefile у певному порядку у відповідь на натискання кнопки <menuchoice>Зібрати позначене</menuchoice> у верхній частині вікна, вибір пункту меню <menuchoice>Проект -> Зібрати позначене</menuchoice> або натискання клавіші <keycap>F8</keycap>. | |||
Список позначених цілей Makefile показано у нижній частині панелі '''Проекти'''. Типово, позначено буде всі проекти, але ви можете змінити список. Наприклад, якщо у вашому списку проектів три проекти (базова бібліотека L і дві програми, A і B), але зараз ви працюєте лише над проектом A, ви можете вилучити проект B зі списку: позначте його пункт і натисніть кнопку {{Minus}}. Крім того, вам, ймовірно, захочеться, щоб бібліотеку L було зібрано перед проектом A. Змініть порядок пунктів у списку за допомогою кнопок, розташованих праворуч від списку. Ви також можете додати певну ціль Makefile до позначених: клацніть правою кнопкою миші у вільному місці списку і виберіть у контекстному меню пункт <menuchoice>Додати до набору збирання</menuchoice> або просто позначте відповідний пункт і натисніть кнопку {{Plus}}, розташовану над списком позначених цілей. | |||
'''KDevelop''' | У '''KDevelop''' передбачено можливість визначення дій під час збирання позначених цілей. Щоб виконати налаштування, скористайтеся пунктом <menuchoice>Проект -> Відкрити налаштування</menuchoice>. У налаштуваннях ви, наприклад, можете визначити кількість завдань, які «make» може виконувати одночасно (якщо на вашому комп’ютері встановлено, скажімо, 8 процесорних ядер, введення числа 8 у відповідне поле буде доречним вибором). У діалоговому вікні <menuchoice>Типовою ціллю make</menuchoice> є ціль Makefile, використана для ''всіх'' цілей у позначеному наборі. | ||
<span id="What to do with error messages"></span> | <span id="What to do with error messages"></span> | ||
=== | === Обробка повідомлень про помилки === | ||
Якщо під час компіляції буде виявлено помилку, просто наведіть вказівник миші на повідомлення про помилку і клацніть лівою кнопкою миші або скористайтеся пунктом меню <menuchoice>Навігація -> Перейти до наступної позначки виведення</menuchoice>. Курсор буде переведено до рядка (і, якщо вказано, позиції у рядку), де було виявлено помилку. Залежно від типу помилки, '''KDevelop''' може також запропонувати вам декілька варіантів дій для її виправлення, наприклад, за допомогою оголошення неоголошеної змінної, якщо таку змінну було виявлено. | |||
{{Prevnext2 | {{Prevnext2 | ||
| prevpage=Special:MyLanguage/ | | prevpage=Special:MyLanguage/KDevelop5/Manual/Code_generation_with_templates | nextpage=Special:MyLanguage/KDevelop5/Manual/Running_programs | ||
| prevtext= | | prevtext=Створення коду за допомогою шаблонів | nexttext=Запуск програм | ||
| index=Special:MyLanguage/ | | index=Special:MyLanguage/KDevelop5/Manual | indextext=Повернутися до меню | ||
}} | }} | ||
[[Category: | [[Category:Розробка/uk]] |
Latest revision as of 12:33, 4 April 2020
Збирання (компіляція) проектів з нетиповими Makefile
У багатьох проектах спосіб збирання файлів коду та визначення тих файлів, які слід повторно зібрати у разі внесення змін до коду, виконується за допомогою файлів Makefile, обробку яких здійснює програма make (див., наприклад, GNU make). У простих проектах нескладно створити такий файл власноруч. У великих проектах створення таких файлів часто покладається на GNU autotools (autoconf, autoheader, automake). У цьому розділі ми припускатимемо, що файл Makefile вашого проекту вже створено, вам просто потрібно вказати KDevelop, у який спосіб слід взаємодіяти з цим файлом.
./configure
або подібний до нього скрипт з командного рядка вручну. Якщо ви бажаєте зробити це з самого вікна KDevelop, відкрийте панель інструмента Konsole (якщо потрібно, додайте цю панель у нижній частині головного вікна за допомогою пункту меню ), у якій можна буде віддати команду оболонці і вкажіть команду ./configure
.
Насамперед, слід повідомити KDevelop про цілі збирання у вашому файлі Makefile. Передбачено два способи: вибір окремих цілей Makefile і вибір набору цілей, які потрібно збирати доволі часто. Для реалізації обох цих способів слід відкрити вікно інструмента Проекти натисканням заголовка вкладки F8; нижче ми поговоримо про цю частину докладніше.
, розташованої у лівій частині головного вікна KDevelop (якщо цього заголовка немає у вікні вашої програми, вище наведено настанови щодо додавання кнопки відповідного інструмента). Панель Проекти складається з двох частин. У верхній частині з заголовком Проекти показано список всіх ваших проектів, у якому можна розгортати пункти каталогів. У нижній частині з заголовком Вибір проекту показано список набори проектів, які буде зібрано, якщо ви виберете пункт меню або натиснете клавішуЗбирання окремих цілей з Makefile
У верхній частині панелі проектів розгорніть список одного з проектів, наприклад, того, для якого слід виконати збирання однієї з цілей Makefile. У списку ви побачите піктограми каталогів, файлів у каталозі верхнього рівня проекту, цілі Makefile, які вдалося визначити KDevelop. На знімку вікна ці категорії показано праворуч. Зауважте, що KDevelop певною мірою розуміє синтаксис Makefile і тому сам визначає цілі, визначені у файлі Makefile (хоча це розуміння і має певні обмеження: не буде показано складені або неявні цілі).
Щоб зібрати будь-яку з цілей у списку, наведіть на її пункт вказівник миші, клацніть правою кнопкою миші і виберіть у контекстному меню пункт
. Наприклад, виконання цих дій для цілі «clean» призведе до виконання команди «make clean». Повідомлення щодо виконання дій можна буде побачити у підвікні Збирання. Це вікно відповідає інструменту Зібрати, отже його можна закрити і пізніше відкрити за допомогою пункту , розташованої на панелі інструментів головного вікна. На нашому знімку цю кнопку розташовано праворуч внизу.Вибір збірки цілей з Makefile для регулярного збирання
Клацання правою кнопкою миші на окремих пунктах цілей швидко втомлює. Набагато простіше було б створити для одного або декількох проектів окремі цілі, які постійно збираються протягом розробки. З цією метою у середовищі реалізовано «збирання позначених цілей»: збирання наборів цілей Makefile у певному порядку у відповідь на натискання кнопки F8.
у верхній частині вікна, вибір пункту меню або натискання клавішіСписок позначених цілей Makefile показано у нижній частині панелі Проекти. Типово, позначено буде всі проекти, але ви можете змінити список. Наприклад, якщо у вашому списку проектів три проекти (базова бібліотека L і дві програми, A і B), але зараз ви працюєте лише над проектом A, ви можете вилучити проект B зі списку: позначте його пункт і натисніть кнопку . Крім того, вам, ймовірно, захочеться, щоб бібліотеку L було зібрано перед проектом A. Змініть порядок пунктів у списку за допомогою кнопок, розташованих праворуч від списку. Ви також можете додати певну ціль Makefile до позначених: клацніть правою кнопкою миші у вільному місці списку і виберіть у контекстному меню пункт або просто позначте відповідний пункт і натисніть кнопку , розташовану над списком позначених цілей.
У KDevelop передбачено можливість визначення дій під час збирання позначених цілей. Щоб виконати налаштування, скористайтеся пунктом
. У налаштуваннях ви, наприклад, можете визначити кількість завдань, які «make» може виконувати одночасно (якщо на вашому комп’ютері встановлено, скажімо, 8 процесорних ядер, введення числа 8 у відповідне поле буде доречним вибором). У діалоговому вікні є ціль Makefile, використана для всіх цілей у позначеному наборі.Обробка повідомлень про помилки
Якщо під час компіляції буде виявлено помилку, просто наведіть вказівник миші на повідомлення про помилку і клацніть лівою кнопкою миші або скористайтеся пунктом меню
. Курсор буде переведено до рядка (і, якщо вказано, позиції у рядку), де було виявлено помилку. Залежно від типу помилки, KDevelop може також запропонувати вам декілька варіантів дій для її виправлення, наприклад, за допомогою оголошення неоголошеної змінної, якщо таку змінну було виявлено.