Domanda

Ho un'applicazione QT che richiede il driver MySql. Ho sia un file .pro per compilare l'app con QtCreator che un .vcproj per Visual C ++ 2008 Express. Il codice è identico e si compila senza intoppi, ma l'eseguibile creato da Visual C ++ Express mi dà il seguente output e rifiuta di caricare qualsiasi driver / plugin:

QSqlDatabase: driver QMYSQL non caricato QSqlDatabase: driver disponibili:

Ho usato QCoreApplication per identificare la posizione in cui si trovano i plugin e sembra che entrambi gli eseguibili abbiano lo stesso percorso, quindi dovrebbero entrambi vedere i plugin. Uno lo fa e l'altro no.

Il codice è standard.

    QSqlDatabase db;     db = QSqlDatabase :: addDatabase (" QMYSQL ");     db.setHostName (" localhost ");     db.setPort (3306);     db.setDatabaseName (" dbase ");     db.setUserName (" utente ");     db.setPassword (" pwd ");     bool ok = db.open ();

La stessa cosa accade con l'esempio SqlBrowser fornito con QT, quindi non credo che il codice sia il problema.

È stato utile?

Soluzione 2

Per chiunque abbia riscontrato questo problema, devo dire questo: è molto più facile usare uno dei pacchetti che contengono binari pre-compilati QT per Visual C ++ piuttosto che provare a crearlo da soli. E il driver Qt (almeno la versione 4.3) è terribilmente difficile da far funzionare (su alcune macchine funziona come un incantesimo ma su altre non riesce a trovare il driver, usando lo stesso codice e binari), quindi sei molto meglio usare una libreria MySql dedicata.

Altri suggerimenti

Ho già riscontrato questo errore e non sono riuscito a farlo funzionare fino a quando non ho realizzato che il plug-in non era stato creato utilizzando la stessa configurazione della mia applicazione (debug vs release, doh!).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top