Ця відповідь стосуватиметься загального питання про створення єдиного джерела програми Windows (на мові С). Якщо вам пощастить, як ОП, ви зможете знайти попередньо складені бінарні файли.
Перше, про що слід пам’ятати, це те, що немає єдиного способу побудови програми з джерела. Існує приблизно стільки ж варіацій, скільки є різних проектів. Однак, ось кілька загальних кроків:
Якщо вам пощастить, проект надасть інструкції по збірці, як правило, у README
файлі. Інколи може також бути INSTALL
файл чи інша документація. Якщо вони доступні, дотримуйтесь інструкцій. Вони - ваша найкраща ставка.
Як говорили інші, на жаль, дуже важко реконструювати необхідні етапи збирання без інструкцій. Однак тут ми можемо принаймні зробити найкращу спробу, яка буде працювати для самих простих проектів.
Не маючи інструкцій, наступним портом дзвінка є перевірка, який інструмент збирання потрібен.
Якщо ви знайдете файл із розширенням .sln
або .vcxproj
, можливо, це проект MSBuild / Visual Studio. Завантажте копію Visual Studio Community або Express (для C ++), відкрийте там файл проекту та натисніть кнопку відтворення на панелі інструментів (або скористайтеся меню збірки).
Якщо ви знайдете Makefile
, це, ймовірно, зажадає make
. Але тут стає ще складніше, оскільки існує стільки незалежних і несумісних систем, які використовують make
.
Оскільки він орієнтований на Windows, він, ймовірно, буде використовувати MinGW . Завантажте його копію, запустіть MSYS зі свого меню запуску, перейдіть ( cd
) до каталогу, який містить ваш проект, та запустіть make
.
У рідкісних випадках це замість Cygwin (на жаль, немає простого способу сказати, але, якщо MinGW створює помилки, пов’язані з помилкою "posix", це гідна ставка), вам доведеться встановити Cygwin замість цього. На жаль, це не створює вбудовані бінарні файли Windows - вам доведеться кожного разу запускати програму через Cygwin.
"Інструмент побудови" може бути спеціальним сценарієм за назвою build.bat
або подібним. У цьому випадку вам доведеться або відкрити його, і подивитися, що знаходиться всередині, або спробувати запустити його і побачити, що таке помилки. Якщо ви відкриєте його і побачите згадки GCC
, поверніться до версії 2.2.1. MinGW крок, але замість цього запустіть спеціальний сценарій make
.
Цілком можливо, що інструменту збирання взагалі немає. Якщо ви стикаєтеся лише з одним .c
чи .cpp
файлом, можливо, ви зможете зробити компіляцію прямо. Це, знову ж таки, майже завжди MinGW , тому завантажте це, запустіть оболонку MSYS, перейдіть до каталогу та виберіть будь-який gcc
або g++
за потребою - наприкладgcc -o program.exe program.c
Можливо, що жодне з цих не працює. Якщо ви отримали повідомлення про помилки на будь-якому кроці, вони можуть містити підказку того, чого немає. Однією з можливостей є те, що вам не вистачало певних необхідних фреймворків або бібліотек - якщо ви відчуваєте це, ви можете спробувати завантажити їх і додати їх у своє середовище побудови, але це, як правило, не тривіальний процес, і так багато варіацій немає спосіб висвітлити їх у відповіді.
Глосарій
Побудувати інструменти
Інструмент збирання дозволяє будувати проект з дуже малою кількістю команд. Для більшості проектів з більш ніж одним вихідним файлом десь буде задіяний інструмент збирання. Існує кілька інструментів побудови, але найпоширенішими є:
make , використовується скрізь в Linux і все частіше зустрічається в Windows. За допомогою проектів make
зазвичай можна ідентифікувати наявність а Makefile
.
MSBuild є специфічним для Windows, і зазвичай його бачать спільно з Visual Studio. Зазвичай до них додається файл *.sln
або *.vcxproj
файл.
Панелі інструментів
Інструментальний ланцюг - це компілятор та допоміжні інструменти. Так само, як і інструментів збирання, їх декілька, і зазвичай вони використовуються з одним із інструментів збирання.
MSVC - це ланцюжок інструментів Microsoft. Це найпоширеніший ланцюжок інструментів для рідної розробки Windows. Зазвичай це використовується в системі MSBuild, а збірки зазвичай створюються через Visual Studio. Однак сучасні проекти MSVC також можуть використовувати Makefile
.
GCC ( MinGW ) - порт GCC для Windows. Зазвичай використовується з make
. Якщо проект орієнтований на Windows спочатку і він має Makefile
, можливо, це MinGW-GCC.
GCC ( Cygwin ) створює сумісне з POSIX середовище. Це дозволяє безпосередньо компілювати більшість програм, написаних для Linux або Unix, і працювати з ними безпосередньо під Windows. Зовсім недавно в Windows 10 альтернативою є Bash on Ubuntu в Windows . ГКК зазвичай застосовується спільно з make
.
Каркаси та бібліотеки
Бібліотеки - це багаторазові набори кодів, написані іншими людьми, від яких залежить багато програм, щоб уникнути винаходиння колеса. Для створення проекту вам потрібно мати ці залежності. Якщо вам пощастить, вони будуть включені до вашого початкового завантаження, але це не завжди так.
Рамки - це фактично колекція бібліотек. У багатьох проектах використовується одна рамка, яка також вам знадобиться. Вони часто також мають власну систему побудови, але перерахувати їх все було б неможливо.
Найважча частина - це вирішення додаткових рамкових та бібліотечних залежностей. Якщо, скажімо, проект використовує Qt - тоді вам знадобиться весь цей безлад, щоб правильно його побудувати. Це величезне завдання, і якщо у вас немає попереднього досвіду, можливо, краще просто попросити інших отримати пряму допомогу.