Solved Problema con l'eseguibile generato da Qt
-
Buongiorno/sera a tutti, avrei un problema che non riesco a risolvere, ho cercato in rete ma nulla... In pratica ho creato il mio piccolo software con interfaccia grafica, finche rimango all'interno della Gui Qt e lo faccio partire funziona, quando provo a cliccare sull'exe nella cartella dove me lo genera mi da un messaggio d'errore. Faccio presente che ho aggiunto alla cartella le dll necessarie.
C'e un piccolo particolare che ho notato, quando vado ad utilizzare lo strumento (windeployqt.exe), mi carica tutte le dll a parte una che poi mi richiede ovvero la (libwinpthread-1.dll)... a questo punto la inserisco io manualmente e la richiesta scompare ma mi esce questo messaggio di errore:
"Impossibile trovare il punto di ingresso _ZNSt6thread15_M_start_threadESt10shared_ptr10_Impl_baseEE della procedura della libreria di collegamento dinamico (percorso dell'esegibile)"ora nella mia applicazione vi e un threat, provando a disabilitarlo (uso la libreria standard per il thread "str::thread") il problema scompare e l'eseguibile va ! di qui ho capito che il problema dipende da questo "libwinpthread-1.dll". Ho provato a sostituire nella cartella dell'eseguibile varie versioni di questo dll (di diversa grandezza) ma nulla. l'exe non va !
Ho letto in giro che e opportuno al posto di "str::thread" l'utilizzo di "Qthread", ma dato che nella versione di prova (freccettina verde) con la Gui funziona, non dovrebbe dipendere da ciò ! ... vi chiedo gentilmente un aiuto o magari delle delucidazioni in merito, grazie molte. -
ragazzi ho risolto, riporto la soluzione sperando che possa aiutare qualcuno.
in pratica nella cartella dell'eseguibile vanno aggiunti 3 file dll dipendenti dal MinGw pertinente, questi file si trovano nella cartella C:\Qt\Tools\mingw530_32\bin, il problema e che tali file sono presenti anche nella cartella C:\Qt\5.9.9\mingw53_32\bin ma questi non sono quelli corretti. Bensì in quest'ultima cartella vanno presi solo i file che di norma carica il (windeployqt.exe).
Un saluto a tutti.