Як у visual studio скомпілювати лише один файл
Перш ніж ми зможемо написати нашу першу програму, нам потрібно навчитися створювати нові програми у нашому інтегрованому середовищі розробки (IDE). У цьому уроці ми розповімо, як це зробити, а ви скомпілюєте та запустите свою першу програму!
Проекти
Щоб написати програму на C++ всередині IDE, ми зазвичай починаємо створення нового проекту (ми покажемо вам, як це зробити трохи пізніше). Проект – це контейнер, в якому зберігаються всі файли вихідного коду, зображення, файли даних і т.д., які необхідні для створення файлу (або бібліотеки, веб-сайту тощо), який ви зможете запускати або використовувати.Проект також зберігає різні налаштування IDE, компілятора та компонувальника, а також запам'ятовує, де ви зупинилися, щоб пізніше, при повторному відкритті проекту стан IDE можна було відновити з місця, де ви зупинилися. Коли ви вирішите скомпілювати свою програму, всі файли .cpp у проекті будуть скомпілювані та злінковані.
Кожен проект відповідає одній програмі. Коли ви будете готові створити другу програму, вам потрібно буде створити новий проект, або перезаписати код в існуючому проекті (якщо ви не хочете його залишати). Файли проекту зазвичай специфічні для конкретної IDE, тому проект, створений однієї IDE, необхідно буде заново створити у інший IDE.
Створюйте новий проект для кожної нової програми, яку ви пишете.
Консольні проекти
Коли ви створюєте новий проект, вас зазвичай питають, проект якого типу ви хочете створити. Усі проекти, які ми створимо у цьому посібнику, будуть консольними.Консольний проект означає, що ми збираємося створювати програми, які можна запускати із консолі Windows, Linux або Mac.
Нижче показаний скріншот консолі Windows:
Рисунок 1 – Консоль Windows
За умовчанням консольні програми не мають графічного інтерфейсу користувача (GUI), вони виводять текст на консоль, зчитують введення з клавіатури і компілюються в автономні виконувані файли. Вони ідеально підходять для вивчення C++, оскільки зводять складність до мінімуму і забезпечують роботу в різних системах.
Не турбуйтеся, якщо ви ніколи раніше не користувалися консоллю або не знаєте, як отримати доступ до неї. Ми будемо компілювати та запускати наші програми через наші IDE (які за потреби будуть викликати консоль).
Робочі простори / рішення
Коли ви створюєте новий проект для своєї програми, багато IDE автоматично додають ваш проект у робочий простір (workspace або solution) (термін залежить від IDE). Робочий простір – це контейнер, який може містити один або кілька проектів, що пов'язані. Наприклад, якщо ви пишете гру і хочете мати окремі виконувані файли для одиночної та розрахованої на багато користувачів гри, вам потрібно буде створити два проекти. Обом цим проектам не мало сенсу бути повністю незалежними – зрештою, вони є частиною однієї гри. Швидше за все, кожен із них буде налаштований як окремий проект у рамках одного робочого простору.
Хоча ви можете додати кілька проектів до одного робочого простору, ми зазвичай рекомендуємо створювати новий робочий простір для кожної програми, особливо під час навчання. Це простіше, і можливість того, що щось піде не так, менше.
Написання вашої першої програми
Традиційно у програмістів, які пишуть новою мовою, першою програмою є сумно відома програма hello world, і ми не збираємося позбавляти вас цього досвіду! Ви нам потім подякуйте. Можливо.
Створення проекту у Visual Studio 2019
Коли ви запустите Visual Studio 2019, ви повинні побачити діалогове вікно, яке виглядає так:
Рисунок 2 – Діалогове вікно «Початок роботи» Visual Studio 2019
Виберіть Створення проекту (Create a new project).
Після цього ви побачите діалогове вікно, яке виглядає так:
Малюнок 3 – Visual Studio 2019: діалогове вікно створення нового проекту
Якщо ви вже відкрили попередній проект, ви можете відкрити діалогове вікно через меню Файл (File) → Створити (New) → Проект (Project).
Виберіть Майстер класичних програм Windows (Windows Desktop Wizard) та натисніть Далі (Next). Якщо ви цього не бачите, ви, ймовірно, при установці Visual Studio забули вибрати установку Desktop development with C++. У цьому випадку поверніться до уроку «0.6 – Встановлення інтегрованого середовища розробки (IDE)» та перевстановіть Visual Studio, як було показано (примітка: замість повної переустановки ви можете запустити інсталятор Visual Studio та змінити існуючу установку, щоб додати підтримку C++).
Далі ви побачите діалогове вікно, яке виглядає так:
Рисунок 4 – Діалогове вікно налаштування нового проекту Visual Studio 2019
Замініть існуюче ім'я проекту на HelloWorld.
Рекомендується також встановити прапорець «Помістити рішення та проект в одному каталозі» (Place solution and project in the same directory), оскільки це скорочує кількість підкаталогів, які створюються з кожним проектом.
Натисніть Створити, щоб продовжити.
Нарешті ви побачите останнє діалогове вікно:
Рисунок 5 – Діалогове вікно параметрів проекту Visual Studio 2019
Переконайтеся, що тип програми встановлений як Консольна програма (.exe) (Console Application (.exe)), і що параметр Precompiled Header не вибрано. Потім натисніть обре.
Ви створили проект! Щоб продовжити, перейдіть до розділу Оглядач рішень Visual Studio нижче.
Створення проекту у Visual Studio 2017 або більш ранньої версії
Щоб створити новий проект у Visual Studio 2017 або раніше, виберіть меню Файл (File) → Створити (New) → Проект (Project). З'явиться діалогове вікно, яке виглядає приблизно так:
Рисунок 6 – Діалогове вікно «Новий проект Visual Studio 2017»
Спочатку переконайтеся, що зліва вказано Visual C++. Якщо ви не бачите Visual C++, можливо, ви забули вибрати інсталяцію підтримки Desktop development with C++ під час інсталяції Visual Studio. У цьому випадку поверніться до уроку «0.6 – Встановлення інтегрованого середовища розробки (IDE)» та перевстановіть Visual Studio, як було показано (примітка: замість повної переустановки ви можете запустити інсталятор Visual Studio та змінити існуючу установку, щоб додати підтримку C++).
Якщо ви використовуєте Visual Studio 2017 v15.3 або новіше, під Visual C++ виберіть Windows Desktop, а потім виберіть Windows Desktop Wizard у головному вікні.
Якщо ви не бачите варіант Windows Desktop, можливо, ви використовуєте стару версію Visual Studio. Чудово. Натомість виберіть Win32, а потім Win32 Console Application у головному вікні.
У полі Name введіть назву програми (замініть існуюче ім'я на HelloWorld ). У полі Location ви можете за бажанням вибрати інше місце для розміщення вашого проекту. Поки що підійде і значення за замовчуванням.
Натисніть кнопку OK.Якщо ви використовуєте стару версію Visual Studio, запуститься майстер додатків Win32. Натисніть кнопку Next.
На цьому етапі ви повинні побачити діалогове вікно майстра, яке виглядає приблизно так (старіші версії Visual Studio використовують інший стиль, але мають більшість з тих же параметрів):
Малюнок 7 – Майстер створення десктопної програми Visual Studio 2017
Переконайтеся, що ви зняли прапорець Передкомпільований заголовок (Precompiled Header).
Потім натисніть кнопку OK або Finish. Тепер ваш проект створено!
Оглядач рішень Visual Studio
У лівій чи правій частині вікна ви повинні побачити вікно під назвою Оглядач рішень. У цьому вікні Visual Studio створила вам рішення (рішення "HelloWorld"). Усередині нього, ім'я якого виділено жирним шрифтом, знаходиться ваш новий проект (HelloWorld). Visual Studio створила вам у цьому проекті ряд файлів, зокрема HelloWorld.cpp (в елементі дерева Вихідні файли (Source Files)). Ви також можете побачити деякі інші файли .cpp або .h, які поки що можете ігнорувати.
Рисунок 8 – Початкові вікна Visual Studio 2019
У текстовому редакторі ви побачите, що Visual Studio вже відкрила HelloWorld.cpp і створила код. Виділіть та видаліть весь код і введіть/скопіюйте наступний код у вашу IDE:
Щоб скомпілювати програму, або натисніть F7 (якщо це не спрацює, спробуйте Ctrl + Shift + B ), або перейдіть в меню Складання (Build) → Зібрати рішення (Build Solution). Якщо все піде добре, ви повинні побачити наступне у вікні:
Або, залежно від вибраної мови:
Це означає, що ваш компіляція пройшла успішно!
Ви забули відключити заздалегідь скомпільовані заголовки при створенні проекту. Заново створіть свій проект (відповідно до інструкцій вище) і обов'язково відключіть попередньо скомпільовані заголовки.
Щоб запустити скомпільовану програму, натисніть Ctrl + F5 або перейдіть в меню Налагодження (Debug) та виберіть Запуск без налагодження (Start Without Debugging). Ви побачите таке:
Рисунок 9 – Запуск програми
Це результат виконання вашої програми! Вітаємо, ви скомпілювали та запустили свою першу програму!
Створення проекту в Code::Blocks
Щоб створити новий проект, перейдіть до меню File (Файл) → New (Новий) → Project (Проект). З'явиться діалогове вікно, яке виглядає так:
Малюнок 10 – Code::Blocks. Діалогове вікно створення проекту
Виберіть Console application (консольна програма) і натисніть кнопку Go (Перейти/створити).
Якщо ви бачите діалогове вікно майстра консольної програми, натисніть Next (далі), переконайтеся, що вибрано C++ і знову натисніть Next.
Тепер вам буде запропоновано назвати ваш проект. Назвіть проект HelloWorld. Ви можете зберегти його будь-де. У Windows ми рекомендуємо зберегти його в підкаталозі диска C, наприклад, C:\CBProjects .
Малюнок 11 – Code::Blocks. Діалогове вікно збереження проекту
Ви можете побачити інше діалогове вікно з питанням, які конфігурації ви хочете увімкнути. Значення за замовчуванням тут підійдуть, тож виберіть Finish.
Тепер ваш новий проект створено.
У лівій частині екрана ви повинні побачити вікно Management (управління) із вибраною вкладкою Projects (проекти). Усередині цього вікна ви побачите папку Workspace з вашим проектом HelloWorld усередині:
Малюнок 12 – Code::Blocks. Workspace
Всередині проекту HelloWorld розгорніть папку Sources (вихідники) і двічі клацніть на main.cpp. Ви побачите, що для вас вже написано програму hello world!
Замініть її наступним кодом:
Щоб зібрати проект, натисніть Ctrl + F9 або перейдіть до меню Build (Складання) → Build (Складання).Якщо все піде добре, ви повинні побачити наступне у вікні журналу збирання:
Це означає, що компіляція пройшла успішно!
Щоб запустити скомпільовану програму, натисніть Ctrl+F10 або перейдіть до меню Build (Складання) → Run (Запуск). Ви побачите щось схоже на наступний скріншот:
Рисунок 13 – Запуск програми
Це результат виконання вашої програми!
Для користувачів Linux
Користувачам Linux до компіляції Code::Blocks може знадобитися встановити додаткові пакети. Для отримання додаткових відомостей див. інструкції з встановлення Code::Blocks в уроці «0.6 – Інтегроване середовище розробки (IDE)».
Якщо ви використовуєте g++ із командного рядка
У цьому випадку створювати проект не потрібно. Просто вставте наступний код у текстовий файл з ім'ям HelloWorld.cpp та збережіть файл:
У командному рядку введіть:
Це скомпілює і з'єднує HelloWorld.cpp. Щоб запустити компільовану програму, введіть:
І ви побачите результат виконання своєї програми.
Якщо ви використовуєте інші IDE або веб-компілятор
Вам потрібно буде самостійно з'ясувати, як зробити таке:
- створити консольний проект (тільки для IDE);
- додати до проекту файл .cpp (тільки для IDE, якщо він не був створений автоматично);
- вставити у файл наступний код:
- скомпілювати проект;
- запустити проект.
Якщо компіляція завершилася помилкою
По-друге, перегляньте питання та відповіді в уроці «0.8 – Декілька поширених проблем C++», оскільки ваша проблема може бути там висвітлена.
По-третє, прочитайте коментарі нижче – хтось міг зіткнутися з проблемою.
Якщо ваша програма запускається, але вікно блимає і одразу закривається
Деякі IDE автоматично не призупиняють екран консолі після завершення програми.Ваша програма запускається, але вікно виведення закривається, перш ніж ви зможете переглянути результати.
Якщо це так з вашим IDE, наступні два кроки вирішать вашу проблему:
По-друге, додайте наступний код у кінець функції main() (безпосередньо перед оператором return):
Це призведе до того, що ваша програма буде чекати, поки користувач натисне якусь клавішу, перш ніж продовжити, що дасть вам час вивчити виведення вашої програми, перш ніж IDE закриє вікно консолі.
Інші рішення, такі як зазвичай запропоноване system("pause") , можуть працювати лише певних операційних системах, і їх слід уникати.
Ваш антивірус також може блокувати виконання програми. У такому разі спробуйте тимчасово вимкнути його та подивитися, чи вирішиться проблема.
Для користувачів Visual Studio
Visual Studio не буде наприкінці робити паузу в роботі консольної програми, якщо вона запускається з налагодженням (меню Налагодження (Debug) → Почати налагодження (Start Debugging)). Якщо ви хочете, щоб вона зробила паузу, ви можете використовувати наведене вище рішення з додатковим кодом, або запустити свою програму без налагодження (меню Налагодження (Debug) → Почати налагодження (Start Without Debugging)).
Висновок
Вітаємо, ви пройшли найскладнішу частину цього посібника (установку IDE та компіляцію вашої першої програми)!
Не хвилюйтеся, якщо не розумієте, що роблять усі рядки в програмі HelloWorld. Ми розглянемо і докладно пояснимо кожен рядок на початку наступного розділу.
Перед написанням нашої першої програми ми ще маємо дещо дізнатися.
Теорія
По-перше, незважаючи на те, що код ваших програм знаходиться у файлах .cpp, ці файли додаються до проекту. Проект містить усі необхідні файли вашої програми, а також зберігає вказані налаштування вашої IDE.Щоразу, при відкритті проекту, він запускається з того моменту, коли ви зупинилися минулого разу. При компіляції програми проект говорить компілятору і лінкеру, які файли потрібно скомпілювати, а які зв'язати. Варто зазначити, що файли проекту однієї IDE не працюватимуть в іншій IDE. Вам доведеться створити новий проект (інший IDE).
По-третє, при створенні нового проекту більшість IDE автоматично додадуть ваш проект у робочий простір. Робочий простір — це своєрідний контейнер, який може містити один або кілька проектів, пов'язаних з ним. Незважаючи на те, що ви можете додати кілька проектів в один робочий простір, все ж таки рекомендується створювати окремий робочий простір для кожної програми. Це набагато полегшує роботу для новачків.
Традиційно, першою програмою новою мовою програмування є відома програма «Hello, world!». Ми не порушуватимемо традиції 🙂
Користувачам Visual Studio
Для створення нового проекту в Visual Studio 2019, потрібно спочатку запустити цю IDE, потім вибрати "Файл" > "Створити" > "Проект" :
Далі з'явиться діалогове вікно, де вам потрібно буде вибрати "Консольний додаток Windows" із вкладки "Visual C++" і натиснути "ОК":
Також ви можете вказати ім'я проекту (будь-яке) та його розташування (рекомендую нічого не змінювати) у відповідних полях.
У текстовому редакторі ви побачите, що є певний текст і код — видаліть його, а потім надрукуйте або скопіюйте наступний код:
Оскільки мені все одно довелося ставити Visual Studio Community для того, щоб встановити Windows Kits для роботи з WinAPI, я вирішив не використовувати MingW, а доустановити C++ build tools і використовувати їх для компіляції. У цьому випадку доведеться переробити завдання (tasks) та налаштування VSCode.
Хороший опис знайшов тут, його і використовуватиму в даній нотатці.
Нам буде потрібно
1. Звичайно нам знадобиться сама програма VSCode.
2. У Visual Studio Community має бути встановлений компонент Desktop development with C++:
Щоб перевірити успішну установку, достатньо викликати Developer Command Prompt for VS 2019 (файл VsDevCmd.bat) з Пуска. Там потрібно запустити файл cl.exe. Виведення консолі має бути без помилок:
3. Для VSCode має бути встановлене доповнення (розширення) Microsoft C/C++
Налаштування
4. У Провіднику відкриваємо робочу папку проекту та, утримуючи Shift , натискаємо праву кнопку миші, після чого вибираємо Open PowerShell window here
5. У віконці PowerShell, що відкрилося, запускаємо VSCode, для цього потрібно набрати code . і натиснути Enter:
Кроки 9-11 швидше за все не потрібні. У статті вони є, але без них у мене все також чудово компілюється.
9. Відкриваємо палітру команд за допомогою комбінації клавіш Ctrl+Shift+P
10. Список великий, тому простіше ввести частину слова та вибрати потрібну команду Edit Configurations UI зі списку:
11. У конфігурації необхідно перевірити, а при необхідності встановити шлях для компілятора:
12. Внесемо зміни до файлу settings.json:
У мене глобальний файл налаштувань, а не тільки для проекту, тому я додаю рядки на початок файлу C:\Users\Denis\AppData\Roaming\Code\User\settings.json
13. Раніше я вже створював файл Задач tasks.json, тому зараз я додам до нього нові рядки:
14. Щоб ми мали можливість запустити проект на налагодження, можна використовувати файл launch.json . Але я не хочу створювати такий файл для кожного проекту щоразу, тож зроблю глобальну конфігурацію. Для цього я додам рядки до файлу settings.json :
Завдяки цьому, при натисканні F5 проект буде відкомпільовано, а потім запущено відразу після цього. Просто запустити, без налагодження, можна комбінацією Ctrl+F5
У наш час open source проекти дедалі популярніші. На майданчиках відкритих проектів, наприклад, на github можна знайти безліч корисних програм, але вони не завжди мають файли, що виконуються ("exe"), тому я постараюся розповісти про те, як можна зібрати самостійно C/C++ програму, з вихідників, написану на Microsoft Visual Studio.
Насамперед нам необхідно завантажити онлайн установник Microsoft Visual Studio, з офіційного сайту. Для компіляції С/С++ проектів немає потреби у всіх пакетах і можна вибрати лише ті, які нам необхідні.
Інсталятор завантажить необхідні пакети з інтернету і встановить їх.
Після інсталяції Visual Studio можна переконатися, що все працює створивши тестовий проект і скомпілювавши його. Для цього натисніть у меню "Файл" → "Створити" → "Проект."
Після цього з'явиться діалог вибору типу проекту, де можна вибрати:
- Консольний додаток;
- Класичний додаток;
- Бібліотеку динамічного компонування (dll);
- Статичну бібліотеку;
У нашому випадку для швидкої перевірки підійде консольна програма, вибираємо назву та папку проекту, після чого тиснемо кнопку "ОК" і створюється наша програма.
Після цього залишається лише скомпілювати її, для цього потрібно вибрати в меню "Складання" і натиснути на пункт "Зібрати рішення".
Далі наш проект скомпілюється і в папці проекту з'явиться наш тестовий файл, що виконується ("exe").
Якщо все працює як слід, то можна приступати до складання якогось іншого відкритого проекту з github або іншого хостингу проектів.
Насамперед нам потрібно завантажити вихідники проекту. На майданчику github це робиться досить просто, тиснемо на кнопку "Code" та "Download ZIP". Після чого потрібно розпакувати його і можна приступати до збирання.
Шукаємо файл із розширенням ".vcxproj" і запускаємо його.Перед нами з'явиться діалог у якому нам запропонують оновити SDK проекту (набір бібліотек для розробки, які Microsoft періодично оновлює) та набір інструментів, що тиснуть оновити.
Тепер наш проект можна зібрати, але до складання необхідно вибрати розрядність проекту (наприклад, для 32 бітної системи або 64 бітної), а також тип складання (налагоджувальний режим - debug або release).
Вибираємо 64 бітну систему та тип складання реліз, після чого компілюємо проект. Як і раніше, потрібно вибрати в меню "Складання" і натиснути на пункт "Зібрати рішення".
Деякі проектам потрібно вручну змінити SDK та набір інструментів, на встановлений у вас, для цього йдемо у властивості проекту, вибираємо зверху типу складання та розрядність системи і вже там змінюємо SDK та набір інструментів. У меню, що випадає, з'являються встановлені у нас версії, вибираємо їх і натискаємо "ОК". Після цього наш проект скомпілюється.
Буває, що проект використовує сторонні бібліотеки, для цього їх потрібно завантажити окремо та покласти до папки. Дізнатися шлях або змінити його можна у властивості проекту, у розділі "С/C++" → "Загальні" → "Додаткові каталоги файлів, що включаються".
Буває, що SDK або набір інструментів, як проект не змінюється в діалозі, щоб змінити їх потрібно записати номер SDK, закрити Visual Studio і вручну, блокнотом змінити цей номер у файлі проекту ".vcxproj".
У разі виникнення інших проблем можна спробувати їх загуглити, можливо, хтось уже стикався з ними і вирішив їх.
Як скомпілювати код у віжуал студіо?
БлогNot. Як зібрати проект C++ з github із вихідних джерел і підключити його до Visual Studio
Як зібрати проект C++ з github із вихідних джерел і підключити його до Visual Studio
P.S. У нових збираннях Visual Studio проекти з репозиторіїв відкриваються просто з меню Файл - Клонувати репозиторій. У статті йдеться про ситуацію, коли так зробити неможливо.
Завдяки менеджеру пакетів winget, що вже входить в актуальні збірки масдайки, тепер у Windows 10 можна інсталювати програми однією простою консольною командою (див. також доку від Мікрософта).
Але ми розглянемо зараз ситуацію, коли ми маємо лише посилання на вихідники проекту, скажімо, на Гітхабі (візьмемо для прикладу бібліотеку для простих чисел primesieve) і потрібно якимось чином "вручну" скомпілювати зовнішній проект у своїй Studio, щоб скористатися його можливостями у своєму додатку.
В іншому випадку, звичайно ж, нестандартний include на кшталт цього, який ви знайшли в коді-зразку
працювати не буде ні за що.
Насамперед скачаємо всі вихідники зовнішнього проекту "як є" в архіві .zip, для цього у нас на гітхабі є кнопка "Download ZIP":
Розгорнемо проект, не створюючи нової папки, якщо ваш архіватор не має такого ж пункту меню, просто зітріть пропоноване архіватором ім'я нової папки, тому що папка вже є в архіві:
Якщо покопатися у файлі readme.md проекту, як правило, можна знайти інструкцію зі встановлення (Build instructions) і навіть "Detailed build instructions", де йдеться, серед іншого, і про компіляцію проекту під Microsoft Visual C++:
Відкриємо свій "некомпільований" без потрібної бібліотеки проект у Studio (я використовую актуальне складання версії 2019) та звернемося до команди меню Вид - Термінал. Виберемо інструмент "Командний рядок розробника" (за промовчанням у нових збірках тепер вибрано PowerShell, втім, якщо в документації наведені команди PowerShell, то застосовуйте їх).
У Мікрософта інструмент описаний тут.
У командному рядку пишемо команди з документації, але спочатку, звичайно, потрібно перейти в ту папку, де у вас розгорнуть завантажений проект. Мені знадобилося ввести в консолі наступне, завершуючи кожну команду натисканням Enter:
d: cd \temp\primesieve-master
- Тепер я в потрібній папці, тому що розгорнув свій архів у папку d:\temp
cmake-G "Visual Studio 16 2019" . cmake-build. --config Release
Можна просто копіювати команди зі сторінки документації, у вікні консолі зверху є стандартна кнопка "Вставити". А ось точка запису команд має значення, це посилання на поточну папку!
Ну і, звичайно, для іншої версії Studio буде інша вказівка компілятора, дізнатися про своє можна командою
Потрібний генератор буде позначений у списку "зірочкою".
Якщо щось пішло не так, помиляєтеся в консольних командах і отримуєте повідомлення про помилки кешу - зітріть файл CMakeCache.txt з скопійованого папки проекту і спробуйте знову.
