Pobrałem martwego prosty program Windows z GitHub ( to jeśli jest to istotne). Pobrałem go jako plik ZIP, ale nie wiem, jak go zainstalować. Myślę, że jest napisane w C. Czy potrzebuję kompilatora? (Visual Studio?) Czy brakuje mi czegoś prostego?
44
Odpowiedzi:
Github jest używany głównie przez programistów do współpracy przy projektach. Opcja „Pobierz ZIP” pobiera kopię kodu źródłowego na komputer. To zazwyczaj 1 nie zawiera kopię skompilowanych plików wykonywalnych użytkowych / binarne (tzn pliki EXE)
Wydawnictwa , to funkcja Github do wysyłania oprogramowania do użytkowników końcowych (którzy zwykle nie są zainteresowani faktycznym kodowaniem). Wydawnictwu towarzyszą uwagi do wydania oraz łącza do pobrania oprogramowania lub kodu źródłowego. To jest pierwsze miejsce, w którym powinieneś sprawdzić pliki binarne .
W twoim przypadku strona z wydaniami oferuje pliki do pobrania i pliki instalacyjne.
Jednak wiele projektów nie będzie miało żadnych wydań (zwłaszcza nie dla systemu Windows), w którym to przypadku możesz wykonać jedną z następujących czynności:
Wyszukaj pliki binarne w innym miejscu w Internecie. Zwykle wyszukiwarki takie jak DuckDuckGo (lub Google , jeśli wolisz) łatwo znajdą to, czego szukasz. Spróbuj wyszukać
<application name> for Windows
lub<application name> exe
.Skompiluj to sam. Aby to zrobić, musisz mieć przynajmniej podstawową znajomość języka programowania. Również tutaj wyszukiwarki mogą być bardzo pomocne. Spróbuj wyszukać
compile <application name> on Windows
lubMinGW compile <application name>
.Tutaj przedstawię podstawy narzędzi do kompilacji dla Widnows:
Pobierz MinGW . Osobiście faworyzuję ten pakiet, ponieważ zawiera on ulepszenie (z którego korzysta kilka aplikacji) i fajną powłokę. Jest również wyposażony w
git
, co może być bardzo przydatne, jeśli chcesz kompilować pliki hostowane na Github lub innych repozytoriach kontroli wersji Git bez konieczności oddzielnego pobierania źródła.Uruchom następujące polecenia w
cmd
lubpowershell
:cd c:\sources\hello
: Zmień katalog na gdziekolwiek znajduje się plik (i) źródłowy.g++ helloworld.cpp -o helloworld.exe
: tutajhelloworld.cpp
jest nazwa głównego pliku źródłowego ihelloworld.exe
nazwa skompilowanego pliku wykonywalnego.-o
przełącznikiem:g++ helloworld.cpp foo.cpp -o helloworld.exe
.c
zamiast.cpp
, i powinieneś użyćgcc
polecenia zamiastg++
. Reszta jest mniej więcej identycznapewniezdecydowanie zajrzeć do makefile. Ten post przepełnienia stosu dotyczy ogólnie plików makefile, a ten mówi nam, jak ich używać z MinGW. Jeśli projekt zawiera plik makefile, wypróbuj go przed ręczną kompilacją źródła.helloworld.exe
.1 Uwaga: Czasami
bin
między pobranymi plikami może się pojawić folder , który powinien zawierać użyteczne pliki wykonywalne / pliki binarneZobacz także Cygwin i GOW, jeśli chcesz narzędzia wiersza poleceń GNU / Linux w systemie Windows. Udostępniam tutaj najnowszą wersję niektórych przydatnych plików wykonywalnych .
Dalsza lektura:
http://www.mingw.org/wiki/MinGW_for_First_Time_Users_HOWTO
https://gcc.gnu.org/onlinedocs/index.html#dir
https://stackoverflow.com/questions/22873884/how-do-o- -run-configure-with-mingw
źródło
Rozejrzyj się i znajdź instalatora na stronie wydania . Pewnie, że możesz skompilować źródło, ale nie sądzę, że tego właśnie chcesz.
źródło
Pliki .c i .h są kodem źródłowym C.
Musisz zainstalować kompilator C, taki jak Visual Studio, tcc lub coś podobnego, załadować projekt, a następnie skompilować, aby go uruchomić.
W przeciwnym razie projekt ma stronę wydania ( tutaj ), która da ci dostęp do wstępnie skompilowanej wersji, aby zaoszczędzić czas i wysiłek.
źródło
Ta odpowiedź będzie dotyczyła ogólnego pytania o zbudowanie aplikacji Windows tylko do źródła (w C). Jeśli masz szczęście, podobnie jak OP, możesz znaleźć wstępnie skompilowane pliki binarne.
Pierwszą rzeczą, o której należy pamiętać, jest to, że nie ma jednego sposobu na zbudowanie aplikacji ze źródła. Istnieje około tyle odmian, ile różnych projektów. To powiedziawszy, oto kilka ogólnych kroków:
Jeśli masz szczęście, projekt dostarczy instrukcje kompilacji, zwykle w
README
pliku. Czasami może być dostępnyINSTALL
plik lub inna dokumentacja. Jeśli są one dostępne, postępuj zgodnie z instrukcjami. To twój najlepszy zakład.Jak powiedzieli inni, niestety bardzo trudno jest odtworzyć wymagane kroki kompilacji bez instrukcji. Jednak możemy przynajmniej podjąć próbę jak największego wysiłku, która będzie działać w przypadku najprostszych projektów.
Brak instrukcji, następnym portem jest sprawdzenie, które narzędzie do budowania jest wymagane.
Jeśli znajdziesz plik z rozszerzeniem
.sln
lub.vcxproj
, prawdopodobnie jest to projekt MSBuild / Visual Studio. Pobierz kopię Visual Studio Community lub Express (dla C ++), otwórz tam plik projektu i kliknij przycisk odtwarzania na pasku narzędzi (lub użyj menu kompilacji).Jeśli znajdziesz
Makefile
, prawdopodobnie będzie to wymagaćmake
. Ale w tym momencie sprawy stają się jeszcze trudniejsze, ponieważ używa tak wielu niezależnych i niekompatybilnych systemówmake
.Ponieważ jest ukierunkowany na Windows, prawdopodobnie użyje MinGW . Pobierz jego kopię, uruchom MSYS z menu Start, przejdź
cd
do katalogu zawierającego projekt i uruchommake
.W rzadkich przypadkach, gdy jest to Cygwin (niestety nie ma łatwego sposobu, aby to stwierdzić, ale jeśli błędy kompilacji MinGW zawierają błąd związany z „posixem”, jest to przyzwoity zakład), zamiast tego musisz zainstalować Cygwin . Niestety nie buduje to rodzimych plików binarnych Windows - za każdym razem będziesz musiał uruchamiać program przez Cygwin.
„Narzędzie do budowania” może być niestandardowym skryptem o nazwie
build.bat
lub podobnym. W takim przypadku musisz go otworzyć i zobaczyć, co jest w środku, lub spróbować go uruchomić i zobaczyć, jakie są błędy. Jeśli go otworzysz i zobaczysz wzmianki oGCC
, wróć do 2.2.1. Krok MinGW, ale zamiast tego uruchom skrypt niestandardowymake
.Możliwe, że w ogóle nie ma narzędzia do kompilacji. Jeśli wszystko, co napotkasz, to pojedynczy plik
.c
lub.cpp
plik, prawdopodobnie jest to na tyle proste, że możesz wykonać prostą kompilację. Są to znów niemal zawsze MinGW , więc pobranie że uruchomienie Msys powłokę, przejdź do katalogu, i wywołać albogcc
czyg++
jest to konieczne - npgcc -o program.exe program.c
Możliwe, że żadna z nich nie działa. Jeśli na dowolnym etapie pojawią się komunikaty o błędach, mogą zawierać wskazówkę dotyczącą tego, czego brakuje. Jedną z możliwości jest brak pewnych wymaganych ram lub bibliotek - jeśli masz na to ochotę, możesz spróbować pobrać je i dodać do środowiska kompilacji, ale zwykle nie jest to trywialny proces i ma tak wiele odmian, że nie ma sposób na uwzględnienie ich w odpowiedzi.
Słownik
Twórz narzędzia
Narzędzie build pozwala zbudować projekt z bardzo niewielu poleceń. W przypadku większości projektów z więcej niż jednym plikiem źródłowym, gdzieś zaangażowane będzie narzędzie kompilacji. Istnieje kilka narzędzi do budowania, ale najczęstsze to:
marka , używana wszędzie w systemie Linux i coraz powszechniejsza w systemie Windows. Projekty wykorzystujące
make
zwykle można rozpoznać po obecnościMakefile
.MSBuild jest specyficzny dla systemu Windows i zwykle jest wyświetlany w połączeniu z Visual Studio. Zazwyczaj towarzyszy im plik
*.sln
lub*.vcxproj
.Łańcuchy narzędzi
Toolchain jest kompilator oraz narzędzia pomocnicze. Podobnie jak narzędzia do budowania, jest ich kilka i zwykle są one używane z jednym z narzędzi do budowania.
MSVC to zestaw narzędzi Microsoft. Jest to najczęstszy zestaw narzędzi dla rodzimego programowania Windows. Jest to zwykle używane w systemie MSBuild, a kompilacje są zwykle tworzone za pomocą Visual Studio. Jednak nowoczesne projekty MSVC również mogą z nich korzystać
Makefile
.GCC ( MinGW ) to port GCC dla Windows. Zwykle używany z
make
. Jeśli projekt jest natywnie ukierunkowany na Windows i maMakefile
, prawdopodobnie dotyczy to MinGW-GCC.GCC ( Cygwin ) tworzy środowisko kompatybilne z POSIX. Pozwala to na bezpośrednią kompilację większości programów napisanych dla Linuksa lub Uniksa i umożliwia działanie bezpośrednio pod Windows. Niedawno w Windows 10 Bash na Ubuntu na Windows jest alternatywą. GCC jest zwykle używany w połączeniu z
make
.Frameworki i biblioteki
Biblioteki to zestawy kodów wielokrotnego użytku napisane przez innych ludzi, od których wielu programów zależy, aby nie wymyślać koła na nowo. Te zależności muszą być dostępne, aby zbudować projekt. Jeśli masz szczęście, zostaną one uwzględnione przy pierwszym pobieraniu, ale nie zawsze tak jest.
Frameworki są w rzeczywistości zbiorem bibliotek. Wiele projektów korzysta z jednego frameworka, który również będzie ci potrzebny. Często mają one własny system kompilacji, ale ich zestawienie byłoby niemożliwe.
Najtrudniejsza część dotyczy dodatkowych zależności frameworka i biblioteki. Jeśli powiedzmy, że projekt używa Qt - będziesz potrzebować całego bałaganu, aby go poprawnie zbudować. To ogromne przedsięwzięcie i jeśli nie masz wcześniejszego doświadczenia, prawdopodobnie lepiej poprosić innych o bezpośrednią pomoc.
źródło
MINGW_PREFIX = $(shell which gcc | awk -F/bin/ '{ printf $$1 }')
:)