Poslao: 12 Dec 2012 09:27
|
offline
- Miroslav R. Maričić
- diplomirani inženjer mašinstva, profesor
- Pridružio: 06 Jun 2012
- Poruke: 229
- Gde živiš: Hajdučica, Banat, Srbija
|
Покушао сам да компајлирам један пример који је рађен у C-у, gcc 4.7.2. Јављена ми је грешка да не може да пронађе функцију chown(). На Интернету сам пронашао да се та ф-ја налази у библиотеци libc.a. Упркос бројним претрагама, нисам успео да пронађем ту библиотеку у бинарном облику, већ само у сорсу... Да ли можда неко има па да ми је пошаље?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 12 Dec 2012 10:33
|
offline
- Srki_82
- Moderator foruma
- Srđan Tot
- Am I evil? I am man, yes I am.
- Pridružio: 12 Jul 2005
- Poruke: 2483
- Gde živiš: Ljubljana
|
Za koju platformu ti treba ta biblioteka. Ako koristiš neki Linux, dovoljno je samo da instaliraš paket glibc. Ako koristiš Windows, predlažem da instaliraš MinGW. Između ostalog ćeš dobiti i GCC + libc biblioteku.
|
|
|
|
Poslao: 12 Dec 2012 21:22
|
offline
- Miroslav R. Maričić
- diplomirani inženjer mašinstva, profesor
- Pridružio: 06 Jun 2012
- Poruke: 229
- Gde živiš: Hajdučica, Banat, Srbija
|
Овако: OS je WIN 7 Ultimate. Скинуо сам са неког сајта инсталацију gcc-a и успешно је инсталисао на диск. Урадио сам пар програмчића, преправио пар готових примера и све је лепо радило. Онда сам налетео на неке примере у ZLIB библиотеци, конкретно фајл Gun.C и који нисам могао да искомпајлирам јер јавља да нема chown() функцију. Малопре сам са твог линка инсталисао MinGW и све је протекло у реду. Моји програми и неки примери су без проблема компајлирани и линковани, али онај програмчић, Gun.C, опет јавља исту грешку. Прегледао сам све фолдере у инсталацији, има гомила библиотека, али те фамозне libc.a - нема! Има ли шансе да се некако докопам те фантомске библиотеке???
Поззз
|
|
|
|
Poslao: 12 Dec 2012 21:36
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12488
- Gde živiš: Južni pol
|
Koja verzija MinGW-a je u pitanju? Libc je osnovna C biblioteka i trebala bi da dolazi uz sam MinGW (u lib poddirektorijumu direktorijuma gde se nalazi instalacija).
Inače, moja je preporuka za instalaciju MinGW je TDM GCC distribucija koja dolazi sa jednostavnim instalacionim programom koji će automatski instalirati sve potrebne datoteke:
http://tdm-gcc.tdragon.net/
Takođe bi mogli biti od koristi nativni Win32 portovi nekih GNU alata GnuWin32 projekta:
http://gnuwin32.sourceforge.net/
|
|
|
|
Poslao: 13 Dec 2012 00:57
|
offline
- Miroslav R. Maričić
- diplomirani inženjer mašinstva, profesor
- Pridružio: 06 Jun 2012
- Poruke: 229
- Gde živiš: Hajdučica, Banat, Srbija
|
Пре него што сам поставио питање, имао сам инсталисану MinGW TDM GCC дистрибуцију, верзија 4.7.2. У тој инсталацији није било те библиотеке. Онда сам је уклонио и инсталисао MinGW са линка који ми је дао Srki_82 у одговору на моје питање. То је исто верзија 4.7.2 и ту такође нисам нашао жељену библиотеку. Иначе, наравно да сам у обема инсталацијама детаљно прегледао све директоријуме и нисам нашао то што треба. Погледао сам и GnuWin32 малопре и тамо нема... Ок, изгледа да је ту библиотеку немогуће наћи - дижем руке!
|
|
|
|
Poslao: 13 Dec 2012 16:46
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12488
- Gde živiš: Južni pol
|
Napisano: 13 Dec 2012 16:17
U pravu si da je nema. Sad mi je palo na pamet da MinGW koristi msvcrt (Microsoft C runtime). Libc je ime za osnovnu C biblioteku na Juniks familiji operativnih sistema. Ne bi ni trebalo da postoji u MinGW.
Chown je jedna od POSIX funkcija i nije čudno da nije dostupna u MinGW. Taj primer je potrebno izmeniti da bi ga bilo moguće kompajlirati pod Windowsom. Recimo zameniti odgovarajućom funkcijom u Windows API-u.
Drugo rešenje su POSIX API implementacija kao što su UWIN, Cygwin, Interix.
Dopuna: 13 Dec 2012 16:20
Baciću pogled na taj gun.c. Kompajlirao sam zlib na MinGW pre izvesnog vremena pa mi nije veliki problem da to pogledam kad uhvatim vremena.
Dopuna: 13 Dec 2012 16:46
Testirano. Samo izbaci liniju koja poziva funkciju chown i program će se kompajlirati bez problema.
|
|
|
|
Poslao: 14 Dec 2012 15:23
|
offline
- Miroslav R. Maričić
- diplomirani inženjer mašinstva, profesor
- Pridružio: 06 Jun 2012
- Poruke: 229
- Gde živiš: Hajdučica, Banat, Srbija
|
Коментарисао сам ту линију где се налази ф-ја chown() и програм се успешно компајлирао! Хвала пуно на савету!
|
|
|
|
Poslao: 15 Dec 2012 16:55
|
offline
- bocke
- Moderator foruma
- Glavni moderator Linux foruma
- Pridružio: 16 Dec 2005
- Poruke: 12488
- Gde živiš: Južni pol
|
Nema na čemu.
P.S. Postavio sam neke stvari za MinGW na svom sajtu, pa možda ti šta od toga može koristiti.
|
|
|
|
Poslao: 18 Dec 2012 00:28
|
offline
- Miroslav R. Maričić
- diplomirani inženjer mašinstva, profesor
- Pridružio: 06 Jun 2012
- Poruke: 229
- Gde živiš: Hajdučica, Banat, Srbija
|
Скинуо сам све са твог линка, прегледао на брзину и закључио да ће ми све то јако добро доћи! Чим прође слава (морам да идем на три места, јбг, некако ћу да се изборим), и чим се довољно отрезним кренућу да прорадим те примере .
Хвала још једном! Поззз
|
|
|
|