[trallallero] [C++\Qt] Deployment on Windows
#21
Inviato 11 gennaio 2012 - 22:15
Ergo stai copiando una versione sbagliata delle dll di QT imho.
#22
Inviato 11 gennaio 2012 - 22:19
Beh, insomma, il discorso non è così semplice.cmq su windows basta mettere tutto nella stessa cartella o in una cartella presente nel PATH per accedere a delle dll, e' la stessa cosa che accade per i .so e i .lib quando si devono usare in java.
Ergo stai copiando una versione sbagliata delle dll di QT imho.
Su windows se non esporti i metodi delle librerie e non crei qualche altro cazzo di coso che non ricordo, i metodi non sono accessibili.
#23
Inviato 11 gennaio 2012 - 22:21
#24
Inviato 11 gennaio 2012 - 22:23
Ovviamente davo per scontato che abbia creato lo stub, o come cazzo si chiama, per quello parlavo dei .lib e dei .so usati in java..
Beh, insomma, il discorso non è così semplice.@[/url]":6p3b61xj] cmq su windows basta mettere tutto nella stessa cartella o in una cartella presente nel PATH per accedere a delle dll, e' la stessa cosa che accade per i .so e i .lib quando si devono usare in java.
Ergo stai copiando una versione sbagliata delle dll di QT imho.
Su windows se non esporti i metodi delle librerie e non crei qualche altro cazzo di coso che non ricordo, i metodi non sono accessibili.
Ma quello e' lo stesso anche su linux, altrimenti non le puoi usare linkate dinamicamente...
A meno che su linux le abbia create e su windows no, puo' essere anche quello.
#25
Inviato 11 gennaio 2012 - 22:28
No su linux non serve esportare perché la visibility dei metodi per default non è hidden come su windows (com'è giusto che sia).
Ovviamente davo per scontato che abbia creato lo stub, o come cazzo si chiama, per quello parlavo dei .lib e dei .so usati in java..@[/url]":2ojq6qif]
Beh, insomma, il discorso non è così semplice.
Su windows se non esporti i metodi delle librerie e non crei qualche altro cazzo di coso che non ricordo, i metodi non sono accessibili.
Ma quello e' lo stesso anche su linux, altrimenti non le puoi usare linkate dinamicamente...
A meno che su linux le abbia create e su windows no, puo' essere anche quello.
Infatti io mi dimentico sempre e poi quando c'è da portare su windows devo definire e mettere EXPORT ovunque
#26
Inviato 11 gennaio 2012 - 22:56
cmq su windows basta mettere tutto nella stessa cartella o in una cartella presente nel PATH per accedere a delle dll, e' la stessa cosa che accade per i .so e i .lib quando si devono usare in java.
Ergo stai copiando una versione sbagliata delle dll di QT imho.
boh, prima abbiamo provato incollando le dll prese dalla stessa macchina in cui era stato compilato il programma.
bisogna anche dire che cercando tipo "QtCore4.dll", ne saltavano fuori tipo 8 copie in giro per le cartelle di Qt.
domani mi metto hardcore
FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
Mai più giorni felici
#27
Inviato 11 gennaio 2012 - 23:02
eh.. infatti occhio alle varie installazioni..
@[/url]":13vsbb53] cmq su windows basta mettere tutto nella stessa cartella o in una cartella presente nel PATH per accedere a delle dll, e' la stessa cosa che accade per i .so e i .lib quando si devono usare in java.
Ergo stai copiando una versione sbagliata delle dll di QT imho.
boh, prima abbiamo provato incollando le dll prese dalla stessa macchina in cui era stato compilato il programma.
bisogna anche dire che cercando tipo "QtCore4.dll", ne saltavano fuori tipo 8 copie in giro per le cartelle di Qt.
domani mi metto hardcore
se metti nella stessa cartella quella che sai essere giusto puoi eliminare quello come problema e sara' qualcos'altro, ma con le dipendenze di windows non si scherza.
#28
Inviato 11 gennaio 2012 - 23:16
eh.. infatti occhio alle varie installazioni..@[/url]":3hmf085s]
boh, prima abbiamo provato incollando le dll prese dalla stessa macchina in cui era stato compilato il programma.
bisogna anche dire che cercando tipo "QtCore4.dll", ne saltavano fuori tipo 8 copie in giro per le cartelle di Qt.
domani mi metto hardcore
se metti nella stessa cartella quella che sai essere giusto puoi eliminare quello come problema e sara' qualcos'altro, ma con le dipendenze di windows non si scherza.
figurati che mettevamo le dll man mano che compariva l'errore
tipo
A: eseguivo exe ->
x.dll mancante ->
prendevo la dll dalla macchina che aveva compilato e la aggiungevo ->
GOTO A
le prime dll che chiedeva erano quelle di mingw, poi le varie Qt (prima core, poi gui, poi network, etc)
una volta inserite tutte, però, mi dava errore dicendo "impossibile trovare l'entry point xyzxyzxyzxyz della libreria x.dll" (di solito x era qtcore o qtgui, non ricordo)
al che whistleravo
FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
Mai più giorni felici
#29
Inviato 11 gennaio 2012 - 23:20
Magari se ci dici qual'è il problema...
@[/url]":2sr6bd59] cmq su windows basta mettere tutto nella stessa cartella o in una cartella presente nel PATH per accedere a delle dll, e' la stessa cosa che accade per i .so e i .lib quando si devono usare in java.
Ergo stai copiando una versione sbagliata delle dll di QT imho.
boh, prima abbiamo provato incollando le dll prese dalla stessa macchina in cui era stato compilato il programma.
bisogna anche dire che cercando tipo "QtCore4.dll", ne saltavano fuori tipo 8 copie in giro per le cartelle di Qt.
domani mi metto hardcore
Per le varie dll, 8 mi sembrano troppine (ti consiglio di installare UNA sola versione) ma stai comunque attento alle librerie, quelle con "d" nel nome sono debug (immagino tu lo sappia già).
#30
Inviato 11 gennaio 2012 - 23:23
ehmmm...
@[/url]":1ogsko5l]
eh.. infatti occhio alle varie installazioni..
se metti nella stessa cartella quella che sai essere giusto puoi eliminare quello come problema e sara' qualcos'altro, ma con le dipendenze di windows non si scherza.
figurati che mettevamo le dll man mano che compariva l'errore
tipo
A: eseguivo exe ->
x.dll mancante ->
prendevo la dll dalla macchina che aveva compilato e la aggiungevo ->
GOTO A
le prime dll che chiedeva erano quelle di mingw, poi le varie Qt (prima core, poi gui, poi network, etc)
una volta inserite tutte, però, mi dava errore dicendo "impossibile trovare l'entry point xyzxyzxyzxyz della libreria x.dll" (di solito x era qtcore o qtgui, non ricordo)
al che whistleravo
mettevi la versione compilata per windows delle dll vero?
non quella presa dalla macchina linux su cui avevate prima fatto girare tutto come mi pare di avere capito..
#31
Inviato 11 gennaio 2012 - 23:24
Magari se ci dici qual'è il problema...@[/url]":lftfsxwo]
boh, prima abbiamo provato incollando le dll prese dalla stessa macchina in cui era stato compilato il programma.
bisogna anche dire che cercando tipo "QtCore4.dll", ne saltavano fuori tipo 8 copie in giro per le cartelle di Qt.
domani mi metto hardcore
Per le varie dll, 8 mi sembrano troppine (ti consiglio di installare UNA sola versione) ma stai comunque attento alle librerie, quelle con "d" nel nome sono debug (immagino tu lo sappia già).
eh non posso dirvelo qua, abbiamo compilato su win di un "collega" (non usa windows da anni, era assolutamente impedito su win7 ) e il test lo facevo su xp in lab.
Comunque lui ha installato semplicemente l'sdk di qt eh, tutta quella roba lì gli è venuta giù insieme.
Quello che non proprio non riesco a capire è come non ci possa essere la maniera di farlo direttamente da QtCreator
FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
Mai più giorni felici
#32
Inviato 11 gennaio 2012 - 23:24
Mica avrai preso le dll dal qtcreator ?
@[/url]":3ehfqdv4]
eh.. infatti occhio alle varie installazioni..
se metti nella stessa cartella quella che sai essere giusto puoi eliminare quello come problema e sara' qualcos'altro, ma con le dipendenze di windows non si scherza.
figurati che mettevamo le dll man mano che compariva l'errore
tipo
A: eseguivo exe ->
x.dll mancante ->
prendevo la dll dalla macchina che aveva compilato e la aggiungevo ->
GOTO A
le prime dll che chiedeva erano quelle di mingw, poi le varie Qt (prima core, poi gui, poi network, etc)
una volta inserite tutte, però, mi dava errore dicendo "impossibile trovare l'entry point xyzxyzxyzxyz della libreria x.dll" (di solito x era qtcore o qtgui, non ricordo)
al che whistleravo
#33
Inviato 11 gennaio 2012 - 23:26
ehmmm...@[/url]":j1gwg7bx]
figurati che mettevamo le dll man mano che compariva l'errore
tipo
A: eseguivo exe ->
x.dll mancante ->
prendevo la dll dalla macchina che aveva compilato e la aggiungevo ->
GOTO A
le prime dll che chiedeva erano quelle di mingw, poi le varie Qt (prima core, poi gui, poi network, etc)
una volta inserite tutte, però, mi dava errore dicendo "impossibile trovare l'entry point xyzxyzxyzxyz della libreria x.dll" (di solito x era qtcore o qtgui, non ricordo)
al che whistleravo
mettevi la versione compilata per windows delle dll vero?
non quella presa dalla macchina linux su cui avevate prima fatto girare tutto come mi pare di avere capito..
sisi quelle di win, prese dalla macchina dove è stato compilato l'exe
ah e tralla: abbiamo provato sia con l'exe compilato in debug (con le dll con la d), sia con il flag release (con le dll senza d)
FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
Mai più giorni felici
#34
Inviato 11 gennaio 2012 - 23:27
Mica avrai preso le dll dal qtcreator ?@[/url]":1elzib80]
figurati che mettevamo le dll man mano che compariva l'errore
tipo
A: eseguivo exe ->
x.dll mancante ->
prendevo la dll dalla macchina che aveva compilato e la aggiungevo ->
GOTO A
le prime dll che chiedeva erano quelle di mingw, poi le varie Qt (prima core, poi gui, poi network, etc)
una volta inserite tutte, però, mi dava errore dicendo "impossibile trovare l'entry point xyzxyzxyzxyz della libreria x.dll" (di solito x era qtcore o qtgui, non ricordo)
al che whistleravo
eh?
le ho prese dalla cartella di Qt (il percorso esatto ora non lo ricordo)
FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
Mai più giorni felici
#35
Inviato 11 gennaio 2012 - 23:28
mmm.. avete messo le dll sdk anziche' quelle redistributable?
@[/url]":37lzgl3i]
Magari se ci dici qual'è il problema...
Per le varie dll, 8 mi sembrano troppine (ti consiglio di installare UNA sola versione) ma stai comunque attento alle librerie, quelle con "d" nel nome sono debug (immagino tu lo sappia già).
eh non posso dirvelo qua, abbiamo compilato su win di un "collega" (non usa windows da anni, era assolutamente impedito su win7 ) e il test lo facevo su xp in lab.
Comunque lui ha installato semplicemente l'sdk di qt eh, tutta quella roba lì gli è venuta giù insieme.
Quello che non proprio non riesco a capire è come non ci possa essere la maniera di farlo direttamente da QtCreator
#36
Inviato 11 gennaio 2012 - 23:29
se non sbaglio, qt creator è stato fatto con vs quindi non puoi usare le sue dll se fai un progetto mingw.
@[/url]":13ddrl5g]
Mica avrai preso le dll dal qtcreator ?
eh?
le ho prese dalla cartella di Qt (il percorso esatto ora non lo ricordo)
Cerca le dll giuste (non chiedermi dove sono perché non lo so, non usiamo più mingw).
Cerco un attimo e ti faccio sapere.
#37
Inviato 11 gennaio 2012 - 23:29
si, immagino sia quello che ho pensato anch'io anche se non avendo mai usato le qt non sapevo come si chiamasse l'sdk.
Mica avrai preso le dll dal qtcreator ?@[/url]":2gleu1sl]
figurati che mettevamo le dll man mano che compariva l'errore
tipo
A: eseguivo exe ->
x.dll mancante ->
prendevo la dll dalla macchina che aveva compilato e la aggiungevo ->
GOTO A
le prime dll che chiedeva erano quelle di mingw, poi le varie Qt (prima core, poi gui, poi network, etc)
una volta inserite tutte, però, mi dava errore dicendo "impossibile trovare l'entry point xyzxyzxyzxyz della libreria x.dll" (di solito x era qtcore o qtgui, non ricordo)
al che whistleravo
#38
Inviato 11 gennaio 2012 - 23:32
http://lists.qt.noki... ... 04706.html
#39
Inviato 11 gennaio 2012 - 23:40
cioè in pratica le librerie dentro la cartella dell'sdk "vanno bene" solo per essere usate dal Qt Creator, giusto?
se scarico questo package: http://qt.nokia.com/...ownloads#qt-lib , pesco le dll da lì, le inserisco nella cartella dell'.exe, tutto dovrebbe funzionare?
FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
Mai più giorni felici
#40
Inviato 12 gennaio 2012 - 08:03
Non si nasce imparati.io non lo sapevo
cioè in pratica le librerie dentro la cartella dell'sdk "vanno bene" solo per essere usate dal Qt Creator, giusto?
se scarico questo package: http://qt.nokia.com/...ownloads#qt-lib , pesco le dll da lì, le inserisco nella cartella dell'.exe, tutto dovrebbe funzionare?
Ma spero che la cosa ti abbia imparato a non pescare librerie a caso dal pc
Se scarichi quelle mingw si, dovrebbe funzionare.