|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2007
Messaggi: 292
|
[C\C++] col GCC, non riesco ad avviare gli eseguibili
Sto cominciando a programmare in Linux...
Ho i miei .c e un .h Da riga di comando (su Fedora), digido: gcc whitney.h main.c (altri .c) -o nome_eseguibile -Wall -lm e il gcc compila senza problemi, e mi genera l'eseguibile (si chiama eseguibile?) nome_eseguibile. Poi, però, quando faccio ./nome_eseguibile mi da errore. Dice permission denied. Cosa sbaglio? Forse nei comandi che do da riga di comando? Eppure ho seguito due guide, ed entrambe dicevano le stesse cose. :-( |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Oct 2008
Messaggi: 19
|
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: May 2007
Messaggi: 292
|
Metto sempre il su e poi digito la password. Nella riga di comando c'è sempre root@...
Il problema, cmq, me lo da anche con singoli file .c Compila e fa quel che deve fare senza darmi errori. Quando poi però vado a avviare l'eseguibile, mi dice: permission denied :-( |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: May 2007
Messaggi: 292
|
Vabbè, ma cosa cambia root o normale ai fini della compilazione?
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: May 2007
Messaggi: 292
|
Allora, ho rifatto tutto non da root...
Ho preso un semplice .c (sta tutto li, niente header o altro). Ho fatto gcc LeggiGmsh.c -o leggigmsh -lm -Wall nessun errore, nessun warning. Crea il file leggigmsh. Poi, se faccio ls -la leggigmsh trovo -rw-rw-rw- 1 root root 7971 2009-03-12 14:45 leggigmsh se invece faccio ./leggigmsh esce ./leggigmsh: Permission denied |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: May 2007
Messaggi: 292
|
Penso di aver risolto.
Il punto è che ho Linux su macchina virtuale, e stavo lavorando con files scritti da Windows su una cartella in comune tra l'host e il guest. Il problema penso fosse questo. Infatti se sposto il file nel disco del sistema guest tutto funziona bene. Praticamente i .c sono nella cartella in comune. Compilo senza problemi, ma l'eseguibile ha diritti solo rw. Anche se faccio chmod non cambia niente: da riga di comando non da errori, ma i permessi rimangono quelli di prima. Se invece copio l'eseguibile dentro il guest, chmod fa effetto e il ./ funziona. Grazie a tutti per l'aiuto. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 04:26.