RISOLTO Problema compilazione in C++ su Xubuntu

Simomuso

Utente Attivo
460
22
Ciao a tutti, sono sempre io a rompervi :sisi:
E' da un pò di giorni che cerco di compilare su Xubuntu. Solitamente scrivo il codice in un file vuoto e poi lo rinomino con estensione .cpp ( ad esempio prova.cpp ). Poi apro il terminale e do questo comando :

g++ prova.cpp

Ora a regola dovrebbe funzionare. Infatti compila correttamente, non da nessun tipo di errore. Quando però dopo aver compilato do da terminale il comando open per avviare l'eseguibile, questo non funziona e mi appare questo errore :

Impossibile ottenere un descrittore di file che si riferisce alla console

Provo ad installare Geany e a compilare ed eseguire il file. Compila correttamente, poi quando eseguo mi da un errore simile, come se il terminale non potesse decifrare quel tipo di file.

Come potrei risolvere?

P.S : altra cosa, è possibile rimuovere la barra dei menù veloci in basso?
 
Ultima modifica:

centoventicinque

Moderatore
Staff Forum
Utente Èlite
7,419
3,191
CPU
Intel core I5 4950/ i5 3550
Dissipatore
coolermaster Mod Anonima sequestri
Scheda Madre
anonima sequestri/ p8z77le
HDD
crucial bx500 480GB+raid0 wd blue 500GB / 8Xwd red 2TB[9420I+4X seagate 2TB [intel] 2x850 pro 256GB
RAM
16GB ddr3 1600 / 16 GB ddr3 hyperx
GPU
gtx660TI 3GB / gtx 1080 TI
Audio
Azila
Monitor
40" 4k LG / asus 27"
PSU
cm masterwatt 650 / microstar 750W
Case
anonimo itek/rack 2U
OS
archlinux X68_66
per compilare non so aiutarti , per il pannellino certo, puoi levar tutto
 

Simomuso

Utente Attivo
460
22
Si il pannello l'ho tolto 2 minuti dopo aver editato. Non mi ero accorto di un opzione da stupido.

Il problema è che questo "errore" in apertura me lo da su Lubuntu e anche Ubuntu. Non capisco proprio come mai.
 

Xfire

UTENTE LEGGENDARIO
Utente Èlite
11,068
1,386
CPU
Intel i7 4790k
Scheda Madre
Asrock z97 extreme 9
HDD
7,5 TB di HD vari
RAM
G.Skill TridentX 2400MHz 16GB
GPU
R9 390X Strix OC
Audio
ALC1150
Monitor
Viewsonic XG2401
PSU
HX850
Case
HAF 932
OS
ArchLinux_customx64 - W10x64
Con che comando esegui il file?
 

pabloski

Utente Èlite
2,868
916
Dovresti postare qualche pezzo di codice. Lì ti dice che non riesce a collegarsi all'handler della console. Il problema potrebbe avere svariate cause.
 

Simomuso

Utente Attivo
460
22
Il codice è questo ( abbastanza stupido, scritto apposta così semplice per fare una prova sicura ):

#include <iostream>
using namespace std;

int main(){
int n = 5;
cout << n;
return 0;
}

Dovrebbe apparire a schermo il numero 5.

A dire la verità non mi apre nessun file, di qualsiasi tipo con il comando open. Mi da sempre lo stesso errore :vv:
 

Ico Bellungi

Utente Èlite
2,920
626
Il codice è questo ( abbastanza stupido, scritto apposta così semplice per fare una prova sicura ):



Dovrebbe apparire a schermo il numero 5.

A dire la verità non mi apre nessun file, di qualsiasi tipo con il comando open. Mi da sempre lo stesso errore :vv:

Invece del comando open prova a posizionarti sulla directory in cui si trova il file col terminale ed a digitare ./nomefile.
In alternativa puoi dare il path assoluto del file per eseguirlo (sempre che abbia i permessi di esecuzione... ma immagino proprio che ce li abbia fin dalla creazione). Solo il percorso del filen nessun comando precedente. Per path assoluto intendo il percorso completo del file, tipo /home/utente/directory/nomefile.c
 

centoventicinque

Moderatore
Staff Forum
Utente Èlite
7,419
3,191
CPU
Intel core I5 4950/ i5 3550
Dissipatore
coolermaster Mod Anonima sequestri
Scheda Madre
anonima sequestri/ p8z77le
HDD
crucial bx500 480GB+raid0 wd blue 500GB / 8Xwd red 2TB[9420I+4X seagate 2TB [intel] 2x850 pro 256GB
RAM
16GB ddr3 1600 / 16 GB ddr3 hyperx
GPU
gtx660TI 3GB / gtx 1080 TI
Audio
Azila
Monitor
40" 4k LG / asus 27"
PSU
cm masterwatt 650 / microstar 750W
Case
anonimo itek/rack 2U
OS
archlinux X68_66
spostati nella cartella dove sta il file e semplicemente scrivi il nome dell'eseguibile
 

zorginho

Utente Attivo
1,234
80
CPU
AMD Phenom II 720 BE (4 core @ 3.3Ghz)
Scheda Madre
ASROCK 970 Extreme 3
HDD
Samsung SSD 830 64Gb e 2 x Seagate ST3500418AS 500Gb raid 0
RAM
DDR3 1333Mhz 2x4GB Corsair XMS3 CL9
GPU
ATI HD4870 Sapphire 1024MB
Audio
Creative inspire P580 + audio integrato Realtek
Monitor
ASUS LCD 21.5" VH222D
PSU
Corsair CMPSU-650TXEU 650W
Case
su cui si prende sempre la corrente anche se l'alimentazione è staccata O.o""
OS
Windows 7 home premium x64
io una volta compilati faccio

sudo chmod +x nomefile

poi

./nomefile

per avviarlo
 

centoventicinque

Moderatore
Staff Forum
Utente Èlite
7,419
3,191
CPU
Intel core I5 4950/ i5 3550
Dissipatore
coolermaster Mod Anonima sequestri
Scheda Madre
anonima sequestri/ p8z77le
HDD
crucial bx500 480GB+raid0 wd blue 500GB / 8Xwd red 2TB[9420I+4X seagate 2TB [intel] 2x850 pro 256GB
RAM
16GB ddr3 1600 / 16 GB ddr3 hyperx
GPU
gtx660TI 3GB / gtx 1080 TI
Audio
Azila
Monitor
40" 4k LG / asus 27"
PSU
cm masterwatt 650 / microstar 750W
Case
anonimo itek/rack 2U
OS
archlinux X68_66
il compilatore spara fiori eseguibili, c'è poco da rendere ancora eseguibile :D
 

Xfire

UTENTE LEGGENDARIO
Utente Èlite
11,068
1,386
CPU
Intel i7 4790k
Scheda Madre
Asrock z97 extreme 9
HDD
7,5 TB di HD vari
RAM
G.Skill TridentX 2400MHz 16GB
GPU
R9 390X Strix OC
Audio
ALC1150
Monitor
Viewsonic XG2401
PSU
HX850
Case
HAF 932
OS
ArchLinux_customx64 - W10x64
@zorghinho, lui sta usando il comando open, che sinceramente non ho mai utilizzato, il quale dovrebbe eseguire il programma in una shell virtuale specifica.
 

Simomuso

Utente Attivo
460
22
Alla fine non sono riuscito a provare perchè mi riserviva Windows 7e quindi ho formattato il tutto. Mi spiace aver fatto perdere tempo :(
 

Simomuso

Utente Attivo
460
22
Alla fine ho risolto in questo modo ( scrivo nel caso possa essere utile in futuro per altri ):

Creo il file prova.cpp con il codice ad esempio in Scrivania
Apro il terminale e mi metto nella cartella Scrivania con cd Scrivania ( ma posso farlo con qualunque cartella, è solo un esempio Scrivania )
Scrivo g++ -o nomeeseguibile prova.cpp --> per rinominare subito l'eseguibile, senza lasciare il predefinito a.out
Dopo che ha compilato scrivo sempre da terminale ./nomeeseguibile

Funziona tutto alla perfezione.
 
  • Mi piace
Reazioni: Ico Bellungi

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili