Vai al contenuto


Foto

[trallallero] [C++\Qt] Deployment on Windows


Questa discussione e' stata archiviata Questo significa che non e' possibile rispondere
73 risposte a questa discussione

#21 TigerShark

TigerShark

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.685 Messaggi:

Inviato 11 gennaio 2012 - 22:15

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.
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

#22 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 11 gennaio 2012 - 22:19

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.

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.
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#23 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 11 gennaio 2012 - 22:21

E non usare metodi static su windows perché lo static è a livello os, non applicativo come su linux (mortacci tua MS :sisi: )
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#24 TigerShark

TigerShark

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.685 Messaggi:

Inviato 11 gennaio 2012 - 22:23

@[/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.

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.

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..
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.
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

#25 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 11 gennaio 2012 - 22:28

@[/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.

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..
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.

No su linux non serve esportare perché la visibility dei metodi per default non è hidden come su windows (com'è giusto che sia).
Infatti io mi dimentico sempre e poi quando c'è da portare su windows devo definire e mettere EXPORT ovunque :sisi:
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#26 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.059 Messaggi:

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 TigerShark

TigerShark

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.685 Messaggi:

Inviato 11 gennaio 2012 - 23:02

@[/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

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. :sisi:
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

#28 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.059 Messaggi:

Inviato 11 gennaio 2012 - 23:16

@[/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

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. :sisi:


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 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 11 gennaio 2012 - 23:20

@[/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

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à).
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#30 TigerShark

TigerShark

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.685 Messaggi:

Inviato 11 gennaio 2012 - 23:23

@[/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. :asd:


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

ehmmm...
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:
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

#31 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.059 Messaggi:

Inviato 11 gennaio 2012 - 23:24

@[/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

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 :asd: ) 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 :sisi:

FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
 

Mai più giorni felici


#32 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 11 gennaio 2012 - 23:24

@[/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. :sisi:


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

Mica avrai preso le dll dal qtcreator ?
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#33 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.059 Messaggi:

Inviato 11 gennaio 2012 - 23:26

@[/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

ehmmm...
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:



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 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.059 Messaggi:

Inviato 11 gennaio 2012 - 23:27

@[/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

Mica avrai preso le dll dal qtcreator ?



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 TigerShark

TigerShark

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.685 Messaggi:

Inviato 11 gennaio 2012 - 23:28

@[/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 :dumb: ) 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 :sisi:

mmm.. avete messo le dll sdk anziche' quelle redistributable? :asd:
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

#36 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 11 gennaio 2012 - 23:29

@[/url]":13ddrl5g]
Mica avrai preso le dll dal qtcreator ?



eh?

le ho prese dalla cartella di Qt (il percorso esatto ora non lo ricordo)

se non sbaglio, qt creator è stato fatto con vs quindi non puoi usare le sue dll se fai un progetto mingw.
Cerca le dll giuste (non chiedermi dove sono perché non lo so, non usiamo più mingw).

Cerco un attimo e ti faccio sapere.
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#37 TigerShark

TigerShark

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.685 Messaggi:

Inviato 11 gennaio 2012 - 23:29

@[/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

Mica avrai preso le dll dal qtcreator ?

si, immagino sia quello che ho pensato anch'io anche se non avendo mai usato le qt non sapevo come si chiamasse l'sdk. :sisi:
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

#38 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 11 gennaio 2012 - 23:32

Il primo che ho trovato e che mi ricorda un problema che ho avuto:
http://lists.qt.noki... ... 04706.html
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#39 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.059 Messaggi:

Inviato 11 gennaio 2012 - 23:40

io non lo sapevo :sisi:

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 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 12 gennaio 2012 - 08:03

io non lo sapevo :sisi:

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?

Non si nasce imparati.

Ma spero che la cosa ti abbia imparato a non pescare librerie a caso dal pc :asd:

Se scarichi quelle mingw si, dovrebbe funzionare.
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all