View Full Version : [Ubuntu 7.10] programmare in c++
ho scaricato kdevelop e ho iniziato con il solito "hello world" ma non mi visualizza questa scritta. In windows si apre una finestra, pero in linux come funziona??
grazie
In basso ci sono delle finestre a scomparsa, l'output del programma compare nella scheda "Applicazione".
Se vuoi puoi andare su Progetto->Opzioni Progetto->Opzioni esecuzione e cliccare su ""Avvia in un terminale esterno" per far apparire una Konsole apposta quando lanci il programma.
Se vuoi provare altri IDE c'è Eclipse + plugin per C++ oppure Code::Blocks.
khelidan1980
25-02-2008, 16:53
comunque pure su kdevelop ti apre la konsole vera e propria quando lancia l'applicazione(non la compilazione)
non mi appare cmq niente. Come messaggio cé:
cd '/home/linus/hello/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" make
make all-recursive
Making all in src
make[2]: Nothing to be done for `all'.
make[2]: Nothing to be done for `all-am'.
*** Success ***
e si creano i files makefile.am e makefile.in
Hai cliccato su Esegui dopo averlo compilato?
clicco start e mi dice che lo rebuilda, poi faccio anche run configure e anche run automake&friends, ma niente.
Ho comunque notato che il programma mi rallenta ubuntu, mi si blocca spesso
run configure e run automake&friends servono per creare il Makefile, che è lo script che contiene le istruzioni per compilare il tuo programma.
Gli GNU Autotools (autoconf, automake, etc) si occupano di scriverlo per te, tu devi solo creare un progetto, scrivere il tuo codice, cliccare su compila (o premi F8) e poi su Esegui Applicazione (o premi Shift+F9).
mi pare che non trovi la konsole!!
Vai su Progetto->Opzioni Progetto->Opzioni Esecuzione e togli la spunta dalla voce "Avvia in un terminale esterno".
Dopo prova a far riapartire il programma (con Shift+F9), dovrebbe usare la console integrata e l'output del programma compare nella scheda "Applicazione".
ok cosi vedo l'output! pero vorrei una console esterna. Poi mi chiedevo se era possibile creare finestre win32 come sotto windows
ok cosi vedo l'output! pero vorrei una console esterna.
Ci sono varie console, forse non hai instalalto Konsole, che è quella predefinita usata da KDevelop. Prova ad installarla e poi dovrebbe andare. Seno usane un'altra, basta che vai su Impostazioni -> Configura KDEvelop, in fondo alla prima scheda c'è la voce "Emulazione di terminale", spunta altro e poi scrivi "gnome-terminal", cosi usa la console di Gnome.
Poi mi chiedevo se era possibile creare finestre win32 come sotto windows
In che senso? Vuoi fare un programma con interfaccia grafica, ti serve un GUI designer come Visual Basic...
ti consiglio di usare Eclipse CDT
ti consiglio di usare Eclipse CDT
quindi dici di lasciar perdere kdevelop?
non voglio usare visual basic, voglio programmare in c++, sotto windows usavo la libreria win32
mi potete spiegare un attimo come funziona la programmazione c++ sotto ambiente linux?xké ho visto che quando creo un progetto, mi crea un casino di file.
KDevelop o Eclipse CDT sono entrambi buoni, io uso indifferentemente l'uno o l'altro. Provali e scegli quello che ti piace...
Per creare applicazioni con interfaccia grafica su Windows c'è la libreria standard win32, ma volendo se ne possono usare altre, mentre su Linux ce ne sono molte, non ce n'è una predefinita, si sceglie quella più adatta in base al tipo di programma da fare.
Le piu usate sono le QT e le GTK. Entrambe sono multipiattaforma, quindi puoi usarle anche su Windows.
Le QT4 sono tra le migliori librerie grafiche disponibili, ti consiglio di usare queste. Qua c'è la documentazione: http://doc.trolltech.com/4.3/
Il GUI designer per le QT è QtDesigner, lo trovi nei repository della tua distro.
Oppure ce ne sono altre, come le FLTK, molto leggere e vanno bene per gui minimali per progetti che devono funzionare su hardware limitato.
mi potete spiegare un attimo come funziona la programmazione c++ sotto ambiente linux?xké ho visto che quando creo un progetto, mi crea un casino di file.
La compilazione del progetto viene gestita da un file che si chiama Makefile, è uno script che contiene le istruzioni e i comandi per compilare il tuo progetto.
Va messo nella top directory del tuo progetto e viene eseguito col comando make.
http://it.wikipedia.org/wiki/Make
se il progetto è semplice lo si scrive a mano, altrimenti si usano gli GNU Autotools, che sono una suite di strumenti (autoconf, automake, ...) in grado di generare in automatico un makefile in base alle specifiche ad alto livello che gli dai.
KDevelop gestisce in automatico questo processo, devi solo crare il tuo progetto e lasciare che si arrangi.
Quando distribuirai i sorgenti del tuo programma ai tuoi utenti potranno compilarlo eseguendo sempliecemente i classici comandi
./configure
make
make install
se invece per motivi particolari vuoi arrangiarti a scrivere il tuo Makefile personalizzato sei libero di farlo. Oltre a make ci sono altri build manager, usati anche su WIndows, come Scons, CMake, Ant e altri, ma make è quello piu canonico.
grazie milledella spiegazione! allora mi butto su la QT4, cosi sfrutto il fatto ke sono multipiattaforme.
Ma quindi quello che ho imparato della libreria win32 nn mi serve a niente con QT4?
Perché per ora voglio fare programmi semplici..pero gia con win32 era complicato fare semplici cose:P
no no, le QT sono molto piu semplici delle librerie win32.
i nomi sono molto semplici e coerenti, ci sono strumenti avanzati come i SIGNAL/SLOT che rendono molto semplice la gestionde degli eventi, è quasi un divertimento usarle.
i concetti di base comunque sono molto simile, l'unica differenza sono i sizers per disporre gli oggetti invece di inserire la posizione assoluta, pero una volta preso pratica non si puo piu farne a meno...
ok! allora adesso mi "butto"! cmq ho visto ke devo scaricare le librerie giusto? Io su windows utilizzo devc++(ok..é vecchio e pieno di bug, pero visual studio non mi va giu:P) come scarico il pacchetto?
Invece su linux? (ho ubuntu 7.10) devo scaricare "Installing Qt/X11" (X11 sta per cosa?).
Quindi cmq, sviluppando un programma sara eseguibile sia su linux che su windows senza modifiche, o devo stare attento a certe funzioni?
grazie della tua pazienza :P
Basta che installi da synaptic i pacchetti con le libqt4 (libqt4-core, libqt4-dev, libqt4-gui).
KDevelop ha gia un template per creare un'applicazione con le QT, scegli quella cosi configura tutto il necessario da solo.
Anche QtDesigner è utile all'inizio per provare i vari componenti e vedere come funzionano i sizers senza scrivere codice.
Se fai il programma in C++/QT la parte che riguarda l'interfaccia grafica gestita dalle QT sicuramente funzina su entrambi i sistemi.
Anche nel resto del programma se ti limiti a usare la libreria standard del C++ non ci sono particolari problemi di portabilità.
Poi se inizi a usare funzioni specifiche di un OS allora il discorso cambia, in quel caso conviene usare delle librerie multipiattaforma che forniscono delle funzionalità indipendenti dall'OS.
ho scaricato le librerie necessarie e ho lanciato un esempio ke mi dava kedevelop (una specie di notepad). Poi volevo provare con gli esempi che mi dava il sito che mi hai linkato.
#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton hello("Hello world!");
hello.resize(100, 30);
hello.show();
return app.exec();
}
ho provato con questo, ma non mi funziona. Forze le librerie sono linkate male?
grazie
A me funziona. Come hai provato a compilarlo, hai creato un nuovo progetto e ci hai incollato dentro il codice? Dovrebbe andare cosi.
Seno se vuoi provare a compilare il programma senza usare KDevelop basta che salvi il codice in un file, es. main.cpp, ed esegui nella stessa cartella i comandi
qmake-qt4 -project
qmake-qt4
make
qmake serve per generare il makefile (le QT usano qmake invece degli GNU autotools) e poi con make lo compila, se tutto va bene ti trovi l'eseguibile nella cartella.
ho aperto un nuovo progetto come C++, QMake Project, Qt4 Application.
Cmq come errore mi da:
cd '/home/linus/c++/progetti/qt4c' && make -k
g++ -o qt4c -L/usr/lib -lQtGui -lQtCore -lpthread
/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [qt4c] Error 1
make: Target `first' not remade because of errors.
*** Exited with status: 2 ***
... mah....
ho provato ad includere in un progetto, creato da kdevelop,
#include <QApplication>
#include <QPushButton>
pero mi dice ke non trova i files
A me funziona, ho incollato il codice nel file main.cpp, poi ho cliccato su compila e poi su esegui ed è partito.
m...nn capisco. Adesso provocon windows
con devc++ si possono scaricare gli aggiornamenti, pero non trovo qt4. Puo essere inclusa in un altro pacchetto forse?
m...nn capisco. Adesso provocon windows
Per Kdevelop basta che crei un nuovo progetto, poi apri la scheda laterale a sinistra per sfogliare i file del progetto e apri main.cpp e ci inserisci il tuo codice.
Poi clicchi su compila e poi su esegui, dovrebbe andare.
Da me ha funzionato al primo colpo.
ho provato ad includere in un progetto, creato da kdevelop,
#include <QApplication>
#include <QPushButton>
pero mi dice ke non trova i files
sicuro di aver installato gli headers e le librerie?
se sei in ambiente debian/ubuntu basta tirarle giù con apt-get
ho scaricato queste librerie: libqt4-core, libqt4-dev, libqt4-gui. Poi il fatto é che se faccio un nuovo progetto qt4 che mi crea kdevelop, funziona.
ho risolto!!! e mi vergogno a dire cosa sbagliavo..........
io continuavo a modificare il file mainFile.cpp, invece d moficare main.cpp
che vergogna...!!!
grazie della vostra pazienza!!!!
Ciao,
sono relativamente nuovo di questo forum. Infatti, anche se non ho mai postato, i vostri consigli mi hanno risolto spesso dei problemi.
Ora vorrei provare a lavorare con le librerie Qt su ubuntu. Premetto che utilizzo ubuntu installato virtualmente su macosx leopard tramite vmware fusion.E che è solo da poco, circa un mese, che uso linux.
Ho fatto i tentativi che proponete qui ma il messaggio che mi appare è questo:
cd '/home/f4bry/Documenti/Appli/prova2' && make -k clean && make -k
cd src/ && make -f Makefile clean
rm -f main.o
rm -f *~ core *.core
cd src/ && make -f Makefile
compiling main.cpp (g++)
make[1]: g++: Command not found
make[1]: *** [main.o] Error 127
make[1]: Target `first' not remade because of errors.
make: *** [sub-src-make_default] Error 2
make: Target `first' not remade because of errors.
*** Exited with status: 2 ***
Se provo a compilare da terminale mi dice:
g++: Command not found
Qualcuno potrebbe darmi una mano?
Grazie ancora.
Devi instalalre il pacchetto build-essential, che contiene il compilaore g++, le librerie standard C++ e alcune utility :
apt-get install build-essential
Devi instalalre il pacchetto build-essential, che contiene il compilaore g++, le librerie standard C++ e alcune utility :
apt-get install build-essential
C'è un problema. Mi chiede il cd di installazione di ubuntu che non ho. E non ho nemmeno l'immagine che ho usato per installarlo. Devo scaricarla o posso fare in un altro modo?
C'è un problema. Mi chiede il cd di installazione di ubuntu che non ho. E non ho nemmeno l'immagine che ho usato per installarlo. Devo scaricarla o posso fare in un altro modo?
Si, da qualche partte nel menu Sistema c'è la voce "Sorgenti software", vai la e tra le fonti disabiliti il DVD, cosi non te lo chiede piu e scarica i pacchetti direttamente da internet.
Si, da qualche partte nel menu Sistema c'è la voce "Sorgenti software", vai la e tra le fonti disabiliti il DVD, cosi non te lo chiede piu e scarica i pacchetti direttamente da internet.
Grazie mille, ora posso andare avanti.
.::Boss::.
23-05-2008, 11:41
ciao ragazzi ho un problema! sapete mica un sito dove spiega facilmente l'informatica e la programmazione (algoritmo,vettori ecc) grazie!! :D :D
.::Boss::.
23-05-2008, 11:47
scusate io mi riferivo al C++, come si usa...ecc grazie!! :D :D
>|HaRRyFocKer|
23-05-2008, 14:43
Ragazzi ma perchè non usate vim e gcc(g++) ?
All'inizio sembrerà ostico, ma dopo un cominci ad abituarti e diventa di una comodità e potenza impressionante...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.