PDA

View Full Version : compilare sorgente c ubuntu


emperor5
29-03-2011, 20:05
Salve, volevo sapere se è possibile compilare un sorgente .c in ubuntu, facendo dare in risultato un file .exe eseguibile su windows. Grazie a tutti.

Tommo
29-03-2011, 20:21
Un modo ci sta, ma di sicuro la maniera più efficace è trovare un pc windows :D
Dovrai pure testarlo no?

Freaxxx
29-03-2011, 21:14
considerando gli stessi processi per i quali si arriva a generare un eseguibile da un sorgente, ti conviene compilare nello stesso ambiente di destinazione.

vizzz
30-03-2011, 09:46
Salve, volevo sapere se è possibile compilare un sorgente .c in ubuntu, facendo dare in risultato un file .exe eseguibile su windows. Grazie a tutti.

puoi utilizzare il compilatore mingw32 sotto linux

emperor5
30-03-2011, 09:50
da dove posso prendere questo compilatore?

emperor5
30-03-2011, 09:51
Un modo ci sta, ma di sicuro la maniera più efficace è trovare un pc windows :D
Dovrai pure testarlo no?

è logico che ce l'ho già se no a che mi serviva...:D

vizzz
30-03-2011, 10:47
da dove posso prendere questo compilatore?

http://packages.ubuntu.com/maverick/mingw32

dai repository ubuntu

TinoSala
30-03-2011, 11:16
e se installassi una specie di simulazione di linux sotto windows? c'è cygwin che ho utilizzato per l'esame di elementi di informatica che fa proprio quello che dici tu: da un sorgente .c compilato ti da un .exe
scarichi il programma da qui:

http://cygwin.com/index.html

e qui un aiutino per usarlo:

http://www.ing.unisannio.it/santone/Didattica/Elementi/Lucidi/lucidi.html

in particolare le lezioni
-Istruzioni per installare CygWin
-Sviluppo di un programma usando CygWin

emperor5
30-03-2011, 12:58
mica sapete se posso utilizzare i pthread con queste due soluzioni?

emperor5
30-03-2011, 13:23
http://packages.ubuntu.com/maverick/mingw32

dai repository ubuntu

ho messo mingw64
che comandi devo usare per compilare con ming un file .c e avere un eseguibile .exe?

vizzz
30-03-2011, 14:57
ho messo mingw64
che comandi devo usare per compilare con ming un file .c e avere un eseguibile .exe?

vado a memoria:
utilizza i586-mingw32msvc-gcc come se utilizzassi semplicemente gcc

emperor5
30-03-2011, 14:59
l'ho istallato stesso su windows, cn gcc compila però nn so ancora il risultato, xkè mi dà un undefined reference to 'sleep', come posso risolvere?

rschirin
30-03-2011, 15:32
forse non hai incluso tutte le librerie giuste

#include <windows.h>
#define sleep(a) Sleep(a * 1000)

oppure quando dai il comando gcc prova con il flag -mwindows

gcc -mwindows

dovrebbe bastare

emperor5
30-03-2011, 18:10
sono riuscito a compilarlo cn define sleep, lo eseguo cn ./a.exe, però non mi visualizza i risultati, i risultati non dovrebbero essere visualizzati nella shell di mingw?
se eseguo con doppio click direttamente su a.exe dice che manca libpthread-2.dll io uso i pthread anche, però ho visto che eseguendo da shell cn ./ i risultati non vengono visualizzati, ma vedendo dal task manager vedo che il processo è eseguito anche cn la creazione dei thread

rschirin
30-03-2011, 19:16
sono riuscito a compilarlo cn define sleep, lo eseguo cn ./a.exe, però non mi visualizza i risultati, i risultati non dovrebbero essere visualizzati nella shell di mingw?
se eseguo con doppio click direttamente su a.exe dice che manca libpthread-2.dll io uso i pthread anche, però ho visto che eseguendo da shell cn ./ i risultati non vengono visualizzati, ma vedendo dal task manager vedo che il processo è eseguito anche cn la creazione dei thread


io generalmente quando uso i thread aggiungo anche il flag -pthread oppure -lpthread, vedi un po'.
per quanto riguarda la libreria mancante, credo che installarla non ti faccia comunque male...