Pergunta

Tenho uma aplicação QT que requer o driver do MySQL. Eu tenho tanto um arquivo .pro para compilar o aplicativo com QtCreator e uma .vcproj para o Visual C ++ 2008 Express. O código é idêntico e ele compila sem problemas, mas o executável criado pelo Visual C ++ Express me dá o seguinte resultado e se recusa a carregar qualquer driver / plugin:

QSqlDatabase: motorista QMYSQL não carregado QSqlDatabase: drivers disponíveis:

Eu costumava QCoreApplication para identificar o local onde os plugins são e parece que ambos os executáveis ??ter o mesmo caminho, então eles devem ver ambos os plugins. Um faz, e o outro não.

O código é padrão.

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

A mesma coisa acontece com a amostra SQLBrowser que veio com QT, então eu não acho que o código é o problema.

Foi útil?

Solução 2

Para qualquer outra pessoa que batido para este problema que eu tenho que dizer isso - é muito mais fácil de usar um dos pacotes contendo QT binários para Visual C ++ pré-construídos do que tentar construí-lo sozinho. E o motorista Qt (a versão 4.3 pelo menos) é terrivelmente difícil para chegar ao trabalho (em algumas máquinas que funciona como um encanto, mas em outros, ele não pode encontrar o driver, usando o mesmo código e binários), assim que você é muito melhor fora de usar uma biblioteca MySql dedicado.

Outras dicas

Eu enfrentei esse erro antes e não poderia fazê-lo funcionar até que eu percebi plug-in não foi construída utilizando a mesma configuração que a minha aplicação (debug vs liberação, doh!).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top