KDevelop5/Manual/Building (compiling) projects with custom Makefiles/uk: Difference between revisions

From KDE UserBase Wiki
(Importing a new version from external source)
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 5: Line 5:
У багатьох проектах спосіб збирання файлів коду та визначення тих файлів, які слід повторно зібрати у разі внесення змін до коду, виконується за допомогою файлів Makefile, обробку яких здійснює програма '''make''' (див., наприклад, [http://www.gnu.org/software/make/ GNU make]). У простих проектах нескладно створити такий файл власноруч. У великих проектах створення таких файлів часто покладається на '''GNU autotools''' (autoconf, autoheader, automake). У цьому розділі ми припускатимемо, що файл Makefile вашого проекту вже створено, вам просто потрібно вказати '''KDevelop''', у який спосіб слід взаємодіяти з цим файлом.
У багатьох проектах спосіб збирання файлів коду та визначення тих файлів, які слід повторно зібрати у разі внесення змін до коду, виконується за допомогою файлів Makefile, обробку яких здійснює програма '''make''' (див., наприклад, [http://www.gnu.org/software/make/ GNU make]). У простих проектах нескладно створити такий файл власноруч. У великих проектах створення таких файлів часто покладається на '''GNU autotools''' (autoconf, autoheader, automake). У цьому розділі ми припускатимемо, що файл Makefile вашого проекту вже створено, вам просто потрібно вказати '''KDevelop''', у який спосіб слід взаємодіяти з цим файлом.


{{Note_(uk)|1='''KDevelop''' 4.x не може працювати з '''GNU autotools''' безпосередньо на час написання цього підручника. Якщо відповідні інструменти використовуються у вашому проекті, вам доведеться запускати скрипт <code>./configure</code> або подібний до нього скрипт з командного рядка вручну. Якщо ви бажаєте зробити це з самого вікна '''KDevelop''', відкрийте панель інструмента '''Konsole''' (якщо потрібно, додайте цю панель у нижній частині головного вікна за допомогою пункту меню <menuchoice>Вікна -> Додати панель інструмента</menuchoice>), у якій можна буде віддати команду оболонці і вкажіть команду <code>./configure</code>.}}
{{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>; нижче ми поговоримо про цю частину докладніше.
Насамперед, слід повідомити '''KDevelop''' про цілі збирання у вашому файлі Makefile. Передбачено два способи: вибір окремих цілей Makefile і вибір набору цілей, які потрібно збирати доволі часто. Для реалізації обох цих способів слід відкрити вікно інструмента '''Проекти''' натисканням заголовка вкладки <menuchoice>Проекти</menuchoice>, розташованої у лівій частині головного вікна '''KDevelop''' (якщо цього заголовка немає у вікні вашої програми, вище наведено настанови щодо додавання кнопки відповідного інструмента). Панель '''Проекти''' складається з двох частин. У верхній частині з заголовком '''Проекти''' показано список всіх ваших проектів, у якому можна розгортати пункти каталогів. У нижній частині з заголовком '''Вибір проекту''' показано список набори проектів, які буде зібрано, якщо ви виберете пункт меню <menuchoice>Проект -> Зібрати позначене</menuchoice> або натиснете клавішу <keycap>F8</keycap>; нижче ми поговоримо про цю частину докладніше.
Line 13: Line 13:
У верхній частині панелі проектів розгорніть список одного з проектів, наприклад, того, для якого слід виконати збирання однієї з цілей Makefile. У списку ви побачите піктограми каталогів, файлів у каталозі верхнього рівня проекту, цілі Makefile, які вдалося визначити '''KDevelop'''. На знімку вікна ці категорії показано праворуч. Зауважте, що '''KDevelop''' певною мірою ''розуміє'' синтаксис Makefile і тому сам визначає цілі, визначені у файлі Makefile (хоча це розуміння і має певні обмеження: не буде показано складені або неявні цілі).
У верхній частині панелі проектів розгорніть список одного з проектів, наприклад, того, для якого слід виконати збирання однієї з цілей Makefile. У списку ви побачите піктограми каталогів, файлів у каталозі верхнього рівня проекту, цілі Makefile, які вдалося визначити '''KDevelop'''. На знімку вікна ці категорії показано праворуч. Зауважте, що '''KDevelop''' певною мірою ''розуміє'' синтаксис Makefile і тому сам визначає цілі, визначені у файлі Makefile (хоча це розуміння і має певні обмеження: не буде показано складені або неявні цілі).


[[Image:kdevelop-1a.png|thumb|500px|center]]
[[File:Kdevelop-makefile-project.png|500px|thumb|center]]


Щоб зібрати будь-яку з цілей у списку, наведіть на її пункт вказівник миші, клацніть правою кнопкою миші і виберіть у контекстному меню пункт <menuchoice>Зібрати</menuchoice>. Наприклад, виконання цих дій для цілі «clean» призведе до виконання команди «make clean». Повідомлення щодо виконання дій можна буде побачити у підвікні '''Збирання'''. Це вікно відповідає інструменту '''Зібрати''', отже його можна закрити і пізніше відкрити за допомогою пункту <menuchoice>Зібрати</menuchoice>, розташованої на панелі інструментів головного вікна. На нашому знімку цю кнопку розташовано праворуч внизу.
Щоб зібрати будь-яку з цілей у списку, наведіть на її пункт вказівник миші, клацніть правою кнопкою миші і виберіть у контекстному меню пункт <menuchoice>Зібрати</menuchoice>. Наприклад, виконання цих дій для цілі «clean» призведе до виконання команди «make clean». Повідомлення щодо виконання дій можна буде побачити у підвікні '''Збирання'''. Це вікно відповідає інструменту '''Зібрати''', отже його можна закрити і пізніше відкрити за допомогою пункту <menuchoice>Зібрати</menuchoice>, розташованої на панелі інструментів головного вікна. На нашому знімку цю кнопку розташовано праворуч внизу.
Line 27: Line 27:
=== Обробка повідомлень про помилки ===
=== Обробка повідомлень про помилки ===


If the compiler encounters an error message, simply click on the line with the error message or use Navigation - Jump to Next Outputmark item in the main menu and the editor will jump to the line (and if available column) where the error was reported. Depending on the error message, '''KDevelop''' may also offer you several possible actions to fix the error, for example by declaring a previously undeclared variable if an unknown symbol was found.
Якщо під час компіляції буде виявлено помилку, просто наведіть вказівник миші на повідомлення про помилку і клацніть лівою кнопкою миші або скористайтеся пунктом меню <menuchoice>Навігація -> Перейти до наступної позначки виведення</menuchoice>. Курсор буде переведено до рядка (і, якщо вказано, позиції у рядку), де було виявлено помилку. Залежно від типу помилки, '''KDevelop''' може також запропонувати вам декілька варіантів дій для її виправлення, наприклад, за допомогою оголошення неоголошеної змінної, якщо таку змінну було виявлено.


{{Prevnext2
{{Prevnext2
Line 35: Line 35:
}}
}}


[[Category:Development]]
[[Category:Розробка/uk]]

Latest revision as of 12:33, 4 April 2020

Other languages:

Збирання (компіляція) проектів з нетиповими Makefile

У багатьох проектах спосіб збирання файлів коду та визначення тих файлів, які слід повторно зібрати у разі внесення змін до коду, виконується за допомогою файлів Makefile, обробку яких здійснює програма make (див., наприклад, GNU make). У простих проектах нескладно створити такий файл власноруч. У великих проектах створення таких файлів часто покладається на GNU autotools (autoconf, autoheader, automake). У цьому розділі ми припускатимемо, що файл Makefile вашого проекту вже створено, вам просто потрібно вказати KDevelop, у який спосіб слід взаємодіяти з цим файлом.

Зауваження

KDevelop 5.x не може працювати з GNU autotools безпосередньо на час написання цього підручника. Якщо відповідні інструменти використовуються у вашому проекті, вам доведеться запускати скрипт ./configure або подібний до нього скрипт з командного рядка вручну. Якщо ви бажаєте зробити це з самого вікна KDevelop, відкрийте панель інструмента Konsole (якщо потрібно, додайте цю панель у нижній частині головного вікна за допомогою пункту меню Вікна -> Додати панель інструмента), у якій можна буде віддати команду оболонці і вкажіть команду ./configure.


Насамперед, слід повідомити KDevelop про цілі збирання у вашому файлі Makefile. Передбачено два способи: вибір окремих цілей Makefile і вибір набору цілей, які потрібно збирати доволі часто. Для реалізації обох цих способів слід відкрити вікно інструмента Проекти натисканням заголовка вкладки Проекти, розташованої у лівій частині головного вікна KDevelop (якщо цього заголовка немає у вікні вашої програми, вище наведено настанови щодо додавання кнопки відповідного інструмента). Панель Проекти складається з двох частин. У верхній частині з заголовком Проекти показано список всіх ваших проектів, у якому можна розгортати пункти каталогів. У нижній частині з заголовком Вибір проекту показано список набори проектів, які буде зібрано, якщо ви виберете пункт меню Проект -> Зібрати позначене або натиснете клавішу F8; нижче ми поговоримо про цю частину докладніше.

Збирання окремих цілей з 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 у відповідне поле буде доречним вибором). У діалоговому вікні Типовою ціллю make є ціль Makefile, використана для всіх цілей у позначеному наборі.

Обробка повідомлень про помилки

Якщо під час компіляції буде виявлено помилку, просто наведіть вказівник миші на повідомлення про помилку і клацніть лівою кнопкою миші або скористайтеся пунктом меню Навігація -> Перейти до наступної позначки виведення. Курсор буде переведено до рядка (і, якщо вказано, позиції у рядку), де було виявлено помилку. Залежно від типу помилки, KDevelop може також запропонувати вам декілька варіантів дій для її виправлення, наприклад, за допомогою оголошення неоголошеної змінної, якщо таку змінну було виявлено.