Newsgroup: it.comp.lang.c
Titolo: Confido nella vostra cortesia.

Temo si tratti di una FAQ, ma ho bisogno urgente di una risposta e non ho
avuto tempo di condurre una ricerca approfondita, cosi' mi affido a voi che
senz'altro saprete darmi una risposta. Mi scuso fin da ora se chiedero' una
banalita'.
Ho dei sorgenti in C che necessitano di essere compilati sotto una
piattaforma Windows XP.
I sorgenti fanno parte di un pacchetto commerciale (regolarmente
acquistato), e richiedono, per essere compilati, la presenza di una serie di
librerie, che per fortuna posseggo. ( una serie di files .lib).
Purtroppo pero' il makefile per generare gli eseguibili e' stato scritto
appositamente per il visual c (6.0), e, non disponendo di questo
compilatore, pensavo di affidarmi a qualche prodotto freeware.
Ho subito pensato al GCC, e per windows ho scoperto esistere un ambiente,
chiamato CYGWIN, che simula un mondo unix, nel quale ovviamente posso far
girare il GCC.
Installato il tutto, ho provato a compilare i sorgenti, dopo diverse
peripezie per adattare il makefile son riuscito ad ottenere persino
l'eseguibile, ma ogni volta che lo lancio mi genera il seguente errore:
nit_cheap: Couldn't reserve space for cygwin's heap, Win32 error 487
Girando per il web mi pare di aver capito che questo e' proprio un bug di
CYGWIN, il che lo renderebbe inutilizzabile per i miei scopi.
La domanda quindi e':
Esistono buoni compilatori C freeware/open source per windows? Non importa
se son privi di ambiente di sviluppo, va bene anche se funzionano da shell,
l'importante e' che gestiscano bene i makefile, e che posseggano anche un
linker visto che comunque poi devo utilizzare diverse .lib per ottenere
l'eseguibile.
Grazie mille.

 l'eseguibile.
Direri che un qualsiasi compilatore "C" e' accompagnato da un linker,
i file oggetto da soli non sono di grande utilita' :-)
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Molto gentile.
L'ho installato e ho provato a compilare il programma.
Barcamenandomi tra FAQ che consigliavano, nel caso si debbano linkare delle
librerie Microsoft Visual C, di usare una sintassi tipo:
gcc -o file.exe file.c lib1.lib lib2.lib ecc...
son riuscito ad ottenere un eseguibile senza alcun errore in fase di
compilazione/linking.
Pero', quando lancio l'eseguibile, ottengo il seguente errore:
"Impossibile trovare il punto di ingresso set_app_type della procedura nella
libreria di collegamento dinamico MSVCRT.dll"
Da notare che il medesimo sorgente compilato col Visual C funziona, solo che
li la sintassi per richiamare il compilatore ed il linker e' totalmente
differente, e io non so, tra le varie opzioni che lui usa, qual'e' il
corrispettivo sotto GCC.
il makefile per il VC ha le seguenti opzioni per il linker:
/nologo /nodefaultlib /incremental:no /stack:8000000,8000
e le seguenti per il compilatore:
/c /nologo /W3 /Zm400 /GX /G5 /GF /Zl -DWIN32 -DPLATFORM=29 -DWIDECHARS /O2
/MD -DRELEASE -DTHREAD_SAFE_MODE
E' scontato dire che, non conoscendo VC, non so da che parte girarmi, e che
un aiuto e' a questo punto essenziale.
Grazie mille!

 e che un aiuto e' a questo punto essenziale.
Xpost Follow-up su it.comp.programmare.win32
--
Gerolamo


Se ti accontenti della shell puoi scaricarti direttamente al sito della
Borland (mi sembra che ti devi reggistrare solamente) il bcc32 che e' il
compilatore che gira sotto il builder, naturalmente cosi' avresti
compilatore linker e libbrerie e nullaltro niente di grafico o similare
pero' e' un vero mostro di compilatore! per i makefile e' un vero mostro.
Ciao