Ho compilato correttamente un programma (incluso SDL) sul mio computer (Ubuntu 12) e lo a.out
funziona bene!in esecuzione su un altro computer
Ora, se invio lo a.out
a un amico, non funziona. (fornisce un semplice messaggio di errore ("Can't be run.."
) o qualcosa del genere) Ma se compilo di nuovo il file sorgente corrispondente sul computer dei miei amici, funziona!
Come devo imballare/compilare/rendere il mio programma per renderlo eseguibile su un altro computer?
Probabilmente non ha versioni compatibili delle librerie - SDL, glibc, forse anche libstdC++. Che versioni hai e quali versioni ha? Potresti riuscire a scappare staticamente dal tuo binario, altrimenti dovrai compilare la versione minima della libreria che vorresti supportare. – Rup
Potrebbe essere necessario eseguire un chmod sull'exe, ma la risposta di seguito si applica ed è la soluzione da seguire suggerire – mathematician1975
Questa è una buona domanda. In quarant'anni nessuno ha trovato una risposta semplice. –