PDA

View Full Version : [QT/C] compilazioone e creazione .exe


starmar
04-11-2011, 10:54
come da titolo ho scritto la mia prima applicazione in c usando le qt, in poche parole sono nuovissimo ! :D Ho installato qtsdk con mingw e qtcreator.... sono riuscito tramite qmake ad effetuare il makefile del mio progetto,ma adesso non riesco a creare l.exe e a mandarlo in exec.. ho fatto tutto sotto ubuntu e la funzionava ma ho bisogno di farlo funzionare anche sotto win, quindi soluzioni ^ grazie

tomminno
04-11-2011, 11:54
Non puoi semplicemente usare QtCreator?

starmar
04-11-2011, 13:36
Non puoi semplicemente usare QtCreator?

come si fa? Non ho mai programmato ad oggetti, usavo la mia ide, compile/run e via!

pabloski
04-11-2011, 16:47
come si fa? Non ho mai programmato ad oggetti, usavo la mia ide, compile/run e via!

ti ci devi abituare

non ci sono binding C per QT, per cui bisogna usare il C++ o uno dei linguaggi che hanno binding per QT tipo Python

detto questo, usare qtcreator diventa semplice

starmar
06-11-2011, 11:14
come funziona il disocrso delle .dll per qtcreator? quali devo mettere nella stessa directory del sorgente?

starmar
06-11-2011, 12:01
come funziona il disocrso delle .dll per qtcreator? quali devo mettere nella stessa directory del sorgente?

anche se uso qtcreator non capisco quali files importare del progetto.. Ho un porgetto funzionante scritto sotto ubuntu e vorrei compilarlo sotto win, ma non so quali files del rogetto importare in qtcreator per poterlo buildare...

pabloski
06-11-2011, 17:15
Per le dll puoi usare la classe qlibrary se vuoi importare dinamicamente a run-time. In caso contrario aggiungi un LIBS += miadll.dll nel file .pro

Per quanto riguarda il passaggio a windows, dovresti importare tutti i file del progetto qt, partendo dal .pro.

Potranno essere necessari aggiustamenti proprio riguardo le librerie e ho letto in giro ( ma mai provato ) che è un pò incasinato farlo lavorare con vsc++, quindi è preferibile mingw che dovrebbe dare molti meno problemi.

starmar
07-11-2011, 09:22
Funziona, finalmente builda e mi crea l.exe nella cartella debug. Ho notato che per eseguire quest'ultimo file ho bisogno di altre 5 dll aggiuntive, tra cui qtcore4, qtcored etc... alcune di queste sono necessarie perche siamo in modalità debug. Come posso quindi generare un exe in modalità "release" ?

starmar
07-11-2011, 11:15
Funziona, finalmente builda e mi crea l.exe nella cartella debug. Ho notato che per eseguire quest'ultimo file ho bisogno di altre 5 dll aggiuntive, tra cui qtcore4, qtcored etc... alcune di queste sono necessarie perche siamo in modalità debug. Come posso quindi generare un exe in modalità "release" ?


Nel frattempo ho messo nella cartella debug tutte le dll che richiedeva, ma se faccio doppio click sull eseguibile il file parte ma ho lo schermo completamente nero...

pabloski
07-11-2011, 16:56
Ma quelle dll non dovrebbe trovarle automaticamente? In fondo sono dll di qt.

Il compilatore che stai usando è mingw? Lo chiedo perchè ho letto in giro che integrare qt con vsc++ è complicato proprio sul fronte delle directory delle dipendenze che non vengono settate automaticamente.

tomminno
07-11-2011, 17:14
Il compilatore che stai usando è mingw? Lo chiedo perchè ho letto in giro che integrare qt con vsc++ è complicato proprio sul fronte delle directory delle dipendenze che non vengono settate automaticamente.

Mah utilizzare Qt con VS è semplicissimo, ci pensa il plugin ad impostare le cartelle per include e dll

pabloski
07-11-2011, 17:35
Mah utilizzare Qt con VS è semplicissimo, ci pensa il plugin ad impostare le cartelle per include e dll

non lo so perchè non l'ho mai usato su windows...ho solo letto in questi anni di varie lamentele, del fatto che consigliavano di usare mingw come compilatore, ecc...

starmar
07-11-2011, 19:11
si uso mingw, le dll sono quelle che sono nella cartella /bin ma non nella cartella locale in cui si trova il file .pro ( basta fare un copia e incolla). Ho letto che non è possibile compilare dinamicamente e quindi allegare tutte le dll nell eseguibile perche va contro la LGPL, quindi sono costretto ad allegare le varie dll insieme al codice e all. exe... perche l exe non si esegue in modalità debug?? come passo a relaease?

pabloski
07-11-2011, 20:35
si uso mingw, le dll sono quelle che sono nella cartella /bin ma non nella cartella locale in cui si trova il file .pro ( basta fare un copia e incolla). Ho letto che non è possibile compilare dinamicamente e quindi allegare tutte le dll nell eseguibile perche va contro la LGPL, quindi sono costretto ad allegare le varie dll insieme al codice e all. exe... perche l exe non si esegue in modalità debug?? come passo a relaease?

Ctrl+T, compare una finestrella in basso dove puoi scegliere debug o release

per le dll è vero, la lgpl ti copre solo se usi le dll dinamicamente, il linking statico non si può fare

starmar
08-11-2011, 12:32
Ctrl+T, compare una finestrella in basso dove puoi scegliere debug o release

per le dll è vero, la lgpl ti copre solo se usi le dll dinamicamente, il linking statico non si può fare

con ctrl+t viene la finestrella, ma non mi fa scegliere niente, il menu a tendina è bloccato...

pabloski
08-11-2011, 14:13
E' strano. Non posso verificare su windows ma su linux funge la scelta tra debug e release. A te su ubuntu funzionava?