Notizia:
  • Rilasciata Precise Pangolin 12.04. Per ottenerla, visitate questa pagina, oppure provate il tour dal vivo con un browser web moderno.
  • Nuovo forum di Ubuntu-it, l'annuncio. È consigliato aggiornare il proprio profilo e controllare la sezione Gruppo Forum per problemi noti.
  • Rilasciata la versione italiana di Precise Pangolin 12.04. Per maggiori informazioni, consultare questa discussione.
  • Il vincitore del Concorso desktop del mese di aprile è Jerico. L'elenco dei precedenti vincitori è qui.
  • È uscito il numero 17 della Newsletter italiana di Ubuntu. Lo trovate a questo indirizzo.
  • È uscito il numero 59 di Full Circle Magazine in italiano. Lo trovate a questo indirizzo.

[C++]Creare eseguire e compilare da terminale

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[C++]Creare eseguire e compilare da terminale

Messaggioda Freddy85 » martedì 7 febbraio 2012, 16:12

salve a tutti, ho un file .cpp e dovrei compilarlo da terminale, come fare?
inoltre mi hanno chiesto un eseguibile di questo programma da far girare su windows, ma io ho scritto tutto su Ubuntu. come posso fare, esiste qualche modo?
Grazie a tutti! :)
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3322
Iscrizione: ottobre 2008

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda armar » martedì 7 febbraio 2012, 17:09

per compilare da terminale:
Codice: Seleziona tutto
g++ nome_sorgente.cpp -o nome_eseguibile

per lanciarlo:
Codice: Seleziona tutto
./nome_eseguibile


altrimenti, utilizza un IDE, io utilizzo codeblocks, e mi trovo bene, ma ne esistono molti altri, anche nel software center. In alternativa, ti consiglio netbeans
armar
Prode Principiante
 
Messaggi: 105
Iscrizione: maggio 2010

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Freddy85 » martedì 7 febbraio 2012, 17:20

ciao e grazie per la risposta. utilizzo già netbeans, ma è possibile portare il mio progetto da linux a windows attraverso la creazione di un eseguibile?
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3322
Iscrizione: ottobre 2008

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Squall867 » martedì 7 febbraio 2012, 18:07

L'eseguibile no: ogni volta che compili il tuo eseguibile viene destinato al sistema operativo su cui l'hai compilato, sei mai andato su un sito a scaricare un programma?Avrai visto ke puoi scaricarlo x windows, linux (e a volte mac), perché se è lo stesso programma?Bè proprio per questo motivo!

Per avviarlo su windows devi portarti il sorgente e ricompilarlo sotto windows, questo genererà un eseguibile per windows.
A dire il vero la questione è un po' + complicata xkè a volte esistono librerie fatte solo x linux o windows, ma visto il livello della tua domanda penso stai facendo programmi semplici, quindi nn dovresti avere d questi problemi.
Avatar utente
Squall867
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 459
Iscrizione: settembre 2010

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Freddy85 » martedì 7 febbraio 2012, 18:51

armar ha scritto:per compilare da terminale:
Codice: Seleziona tutto
g++ nome_sorgente.cpp -o nome_eseguibile

per lanciarlo:
Codice: Seleziona tutto
./nome_eseguibile


altrimenti, utilizza un IDE, io utilizzo codeblocks, e mi trovo bene, ma ne esistono molti altri, anche nel software center. In alternativa, ti consiglio netbeans



grazie..il nome_eseguibile che estensione avrà?
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3322
Iscrizione: ottobre 2008

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Freddy85 » martedì 7 febbraio 2012, 19:15

Squall867 ha scritto:Per avviarlo su windows devi portarti il sorgente e ricompilarlo sotto windows, questo genererà un eseguibile per windows.
A dire il vero la questione è un po' + complicata xkè a volte esistono librerie fatte solo x linux o windows, ma visto il livello della tua domanda penso stai facendo programmi semplici, quindi nn dovresti avere d questi problemi.


grazie per la risposta, in pratica sono in alto mare...
comunque ho provato a montare il tutto su una macchina windows ma naturalmente non va, il programma non è helloworld, purtroppo...
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3322
Iscrizione: ottobre 2008

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda melfnt » martedì 7 febbraio 2012, 23:03

Su linux gli eseguibili non devono avere un'estensione precisa, basta che siano eseguibili ;)

Ovvero: quando fai
Codice: Seleziona tutto
g++ main.cpp -o main.o


main.o è un eseguibile
se scrivevi main.exe faceva lo stesso, se scrivevi main e basta idem...

Per la faccenda di windows...
non lo so, esiste un programmino, wine, che (dovrebbe) eseguire su linux gli eseguibili di windows, ma non funziona bene...

Guarda un po' ciò che riesci a fare, altrimenti un altro metodo c'è (a livello di codice), è usare gli #ifdef e #ifndef.
melfnt
Prode Principiante
 
Messaggi: 124
Iscrizione: ottobre 2011

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Freddy85 » mercoledì 8 febbraio 2012, 10:06

ti ringrazio, sei stato molto chiaro. forse devo specificare meglio: non devo aprire EXE su linux, questo lo so fare con wine.
da un progetto scritto in C++ su Netbeans in Ubuntu, devo creare un eseguibile per Windows del mio progetto..possibile secondo te? Grazie!
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3322
Iscrizione: ottobre 2008

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Squall867 » mercoledì 8 febbraio 2012, 12:38

Freddy85 ha scritto:grazie per la risposta, in pratica sono in alto mare...
comunque ho provato a montare il tutto su una macchina windows ma naturalmente non va, il programma non è helloworld, purtroppo...

Senza sapere che librerie usi è difficile aiutarti...devi trovare che cosa windows non ti riconosce e trovarne il corrispettivo, già le socket richiedono una inizializzazione un po' + articolata.
Avatar utente
Squall867
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 459
Iscrizione: settembre 2010

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Freddy85 » mercoledì 8 febbraio 2012, 13:54

Squall867 ha scritto:Senza sapere che librerie usi è difficile aiutarti...devi trovare che cosa windows non ti riconosce e trovarne il corrispettivo, già le socket richiedono una inizializzazione un po' + articolata.

potrei incollarti gli "include" che ho fatto all'interno del mio progetto? magari potresti aiutarmi a dirmi se cambia qualcosa da un OS ad un altro. Grazie!
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3322
Iscrizione: ottobre 2008

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Squall867 » mercoledì 8 febbraio 2012, 13:54

E' un inizio...
Avatar utente
Squall867
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 459
Iscrizione: settembre 2010

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Freddy85 » mercoledì 8 febbraio 2012, 13:56

Codice: Seleziona tutto
#include <iostream>
#include <stdio.h>
#include <time.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;

e poi alcune define ed enum. Grazie
Appunti personali: il mio blog sul mondo informatico, Linux Ubuntu e molto altro! http://tinyurl.com/cjwn7r2
Avatar utente
Freddy85
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3322
Iscrizione: ottobre 2008

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Squall867 » mercoledì 8 febbraio 2012, 14:07

Codice: Seleziona tutto
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>

queste esistono solo per linux, su windows mi pare siano tutte contenute in .

Codice: Seleziona tutto
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>

queste non le conosco, ma ho dei dubbi siano già integrate in windows..anche su linux le avrai scaricate quindi devi prendertele anche per il primo.

Se su linux stai usando gcc e su windows visual c++ (e ti consiglio di farlo) un esempio per rendere il tuo sorgente "indipendente" è (mi pare):
Codice: Seleziona tutto
#ifdef linux
    #include <sys/ioctl.h>
   #include <sys/types.h>
    #include <sys/stat.h>
#elif _WIN32
     #include <windows.h>
#endif

in questo modo se stai su linux verranno incluse le prime 3, su windows l'altra.
Ultima modifica di Squall867 il mercoledì 8 febbraio 2012, 14:37, modificato 1 volta in totale.
Avatar utente
Squall867
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 459
Iscrizione: settembre 2010

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Zoff » mercoledì 8 febbraio 2012, 14:24

using namespace std; non è inutile.
Questo perché linux non include il namespace std preventivamente (come è poi giusto che sia).
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
 
Messaggi: 24443
Iscrizione: ottobre 2007
Località: Romagna!!!
Distribuzione: Ubuntu 12.04
Desktop: Unity e Gnome Shell

Re: [C++]Creare eseguire e compilare da terminale

Messaggioda Squall867 » mercoledì 8 febbraio 2012, 14:37

Errore mio
Avatar utente
Squall867
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 459
Iscrizione: settembre 2010


Torna a Programmazione

Chi c’è in linea

Visualizzano questa pagina: SuperStep e 4 ospiti