Makefile na windows-u

Makefile na windows-u

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Treba da iskoristim neku biblioteku u nekom mom projektu da bih ubrzao proces testiranja nekih stvari.
Medjutim ispostavilo se da moram da predjem puno vise prepreka nego sto sam mislio, tako da mi ovo na neki nacin gubi svrhu i gubim volju za zivotom.

Danas dosta biblioteka distribuiraju sors u paketu u kojima nema prekompajliranih ".lib" i heder fajlova koji su mi neophodni da bih se linkovao i koristio njihove funkcije. Tako da se oslanjaju na make/cmake komajlere projekata (kako se vec zovu ovi alati? valjda znate na sta mislim) sa kojima se to odradjuje.
Medjutim, ja sam uvek izbegavao da koristim takve biblioteke, jer onda moram da ucim i sintaksu (kao i sta je sve neophodno) ovih make programa. Mislim aman, prodje mi zivot u necemu sto ne zelim da radim a uz to su nekako obfuscated (ne pada mi sad rec na srpskom na pamet kako bih ovo najbolje opisao) preko potrebe, zarad neke genericnosti. Ne razumem neke ljude zasto imaju fetish prema ovom nacinu "bildovanja" projekata. GUZ - Glavom U Zid

Zamolio bih neku dobru dusu, ako ima vremena da mi napise sta treba sve da uradim da bih odradio ono sto meni treba, u nekim kratkim crtama ako nije problem. Ne zanima me kako i zasto, samo da izbildujem sta mi treba da mogu da nastavim da radim.
Biblioteka, necu spominjati koja posto je proces verovatno isti i za ostale, ima u root folderu ove fajlove:

i prazne "bin" i "lib" foldere.

Hvala na izdvojenom vremenu.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • bocke  Male
  • Moderator foruma
  • Glavni moderator Linux foruma
  • Veliki Pingvin
  • Guru
  • Pridružio: 16 Dec 2005
  • Poruke: 12488
  • Gde živiš: Južni pol

Jesi li pogledao da nije u nekim od poddirektorijuma uključen i VS projekat?

Ovo su GNU autotools datoteke. Ukoliko koristiš VS nisu ti od koristi. Mada bi navodno Interix trebao da ima neki vid interfejsa sa VS. Doduše, u praksi to nije baš funkcionisalo. Izgleda da Interix sadrži prilično matore alatke i pretpostavlja raniju verziju VS.

Uglavnom, bolje je da potražiš da li postoji neki gotov VS projekat na netu (nađe se) ili uputstvo. GNU autotools su najpopularniji (i nativni) na Unix-olikim sistemima. Da bi ih koristio na Windowsu potreban ti je neki lejer POSIX kompatibilnosti i (najverovatnije) drugi kompajler. Ako već koristiš VS, najbolje je potražiti specifično rešenje.

Inače, na Unix-olikim sistemima bi izgradnja bila gotova izvršavanjem jedne linije:
./configure && make

Cmake je nešto drugo. Cmake je generator projekata za IDE okruženja ili Makefile datoteka. Podržava veliki broj izlaznih formata na nekoliko platformi. Dakle pozivanjem cmake si u mogućnosti da generišeš "projekat" za određeno popularno IDE okruženje. Dok su GNU autotools prilično Unix specifični, cmake nije.

Ni za jedno ni za drugo ti nije potrebno poznavanje dodatne sintakse, ali je potrebno da budu instalirani odgovarajući alati. Korišćenje ovih datoteka ne bi trebalo biti komplikovano. Pisanje bi već moglo biti.

Dakle, najjednostavnije rešenje je da potražiš gotov projekat (beše *.sln - "solution"?) na netu. Ili alternativno tutorijal kako importovati u VS.

U svakom slučaju, nisu drugi osmislili sisteme da bi tebi zamrsili konce, već postoje i različite razvojne filozofije, potrebe ili zahtevi. Kad je u pitanju filozofija, postoje dve ključne: IDE bazirana i ona bazirana na korišćenju skupa komandnih alatki. I jedna i druga je "prava" u zavisnosti koga pitaš. Kad su u pitanju potrebe i zahtevi, postoje različite (re)implementacije klasične "make" alatke za izgradnju projekata ili multiplatformskih generatora "projektnih datoteka" za različite sisteme izgradnje (uključujući i IDE okruženja).

Što se tiče same make alatke, u pitanju je tradicionalni sistem za izgradnju (nastao 70-ih, mislim). Originalna make alatka je prilično jednostavna. Osnovna sintaksa takođe. Ono što je komplikovano su različiti generatori Makefile datoteka. Makefile datoteke kreirane automatski pomoću ovih "generatora" nisu ni predviđene za "shvatanje", već korišćenje.

E sad, zašto postoje ovi generatori? Zbog potreba multplatformskog razvoja. Ista biblioteka će biti korišćena i na Windowsu, Linuksu, FreeBSDu, Mac OS X-u, Androidu, iOS-u, itd. Ovi generatori postoje da bi se kreirana "Makefile" datoteka prilagodila razvojnom okruženju koje će biti korišćeno za izgradnju (bilo nativno ili za cross razvoj).



offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Hvala lepo na objasnjenjima.
Nasao sam ".bat" fajl (zakopan u brdo podfoldera) koji generise VS ".sln" solution fajl, tako da sam iskompajlirao biblioteku. Ovog puta sam prosao bezbolno.
Uz ove make fajlove bi trebalo uvek da stave bar neko malo upustvo za idiote (kao sto sam ja), da se ne bi cesao po glavi sta treba da radim.

Ko je trenutno na forumu
 

Ukupno su 1216 korisnika na forumu :: 40 registrovanih, 5 sakrivenih i 1171 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, cenejac111, crnitrn, deLacy, DonRumataEstorski, dragoljub11987, galerija, Gall, hyla, jackreacher011011, janbo, Joco Skljoco, JOntra, Karla, Krusarac, laurusri, Leonov, mercedesamg, MrNo, opt1, panonski mornar, pein, procesor, repac, Ripanjac, sasa87, Srle993, Stoilkovic, suton, Trpe Grozni, tubular, Tvrtko I, Valter071, Vladko, wizzardone, xpforswodniw, ZetaMan, zixmix, šumar bk2, žeks62