KDevelop5/Manual/Building (compiling) projects with custom Makefiles/uk: Difference between revisions
No edit summary |
No edit summary |
||
(4 intermediate revisions by 2 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''' | {{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 (хоча це розуміння і має певні обмеження: не буде показано складені або неявні цілі). | ||
[[ | [[File:Kdevelop-makefile-project.png|500px|thumb|center]] | ||
Щоб зібрати будь-яку з цілей у списку, наведіть на її пункт вказівник миші, клацніть правою кнопкою миші і виберіть у контекстному меню пункт <menuchoice>Зібрати</menuchoice>. Наприклад, виконання цих дій для цілі «clean» призведе до виконання команди «make clean». Повідомлення щодо виконання дій можна буде побачити у підвікні '''Збирання'''. Це вікно відповідає інструменту '''Зібрати''', отже його можна закрити і пізніше відкрити за допомогою пункту <menuchoice>Зібрати</menuchoice>, розташованої на панелі інструментів головного вікна. На нашому знімку цю кнопку розташовано праворуч внизу. | Щоб зібрати будь-яку з цілей у списку, наведіть на її пункт вказівник миші, клацніть правою кнопкою миші і виберіть у контекстному меню пункт <menuchoice>Зібрати</menuchoice>. Наприклад, виконання цих дій для цілі «clean» призведе до виконання команди «make clean». Повідомлення щодо виконання дій можна буде побачити у підвікні '''Збирання'''. Це вікно відповідає інструменту '''Зібрати''', отже його можна закрити і пізніше відкрити за допомогою пункту <menuchoice>Зібрати</menuchoice>, розташованої на панелі інструментів головного вікна. На нашому знімку цю кнопку розташовано праворуч внизу. |
Latest revision as of 12:33, 4 April 2020
Збирання (компіляція) проектів з нетиповими Makefile
У багатьох проектах спосіб збирання файлів коду та визначення тих файлів, які слід повторно зібрати у разі внесення змін до коду, виконується за допомогою файлів Makefile, обробку яких здійснює програма make (див., наприклад, GNU make). У простих проектах нескладно створити такий файл власноруч. У великих проектах створення таких файлів часто покладається на GNU autotools (autoconf, autoheader, automake). У цьому розділі ми припускатимемо, що файл Makefile вашого проекту вже створено, вам просто потрібно вказати KDevelop, у який спосіб слід взаємодіяти з цим файлом.
Насамперед, слід повідомити 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 може також запропонувати вам декілька варіантів дій для її виправлення, наприклад, за допомогою оголошення неоголошеної змінної, якщо таку змінну було виявлено.