Pregunta

Tengo una aplicación QT que requiere el controlador MySql. Tengo un archivo .pro para compilar la aplicación con QtCreator y un .vcproj para Visual C ++ 2008 Express. El código es idéntico y se compila sin problemas, pero el ejecutable creado por Visual C ++ Express me da el siguiente resultado y se niega a cargar cualquier controlador / complemento:

QSqlDatabase: controlador QMYSQL no cargado QSqlDatabase: controladores disponibles:

Utilicé QCoreApplication para identificar la ubicación donde están los complementos y parece que ambos ejecutables tienen la misma ruta, por lo que ambos deberían ver los complementos. Uno lo hace, y el otro no.

El código es estándar.

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

Lo mismo sucede con la muestra SqlBrowser que vino con QT, por lo que no creo que el problema sea el código.

¿Fue útil?

Solución 2

Para cualquier otra persona que se topó con este problema, tengo que decir esto: es mucho más fácil usar uno de los paquetes que contienen binarios precompilados QT para Visual C ++ que intentar compilarlo usted mismo. Y el controlador Qt (la versión 4.3 al menos) es muy difícil de conseguir (en algunas máquinas funciona a las mil maravillas pero en otras no puede encontrar el controlador, usando el mismo código y binarios), así que eres mucho mejor usando una biblioteca MySql dedicada.

Otros consejos

Me enfrenté a este error antes y no pude hacerlo funcionar hasta que me di cuenta de que el complemento no se creó con la misma configuración que mi aplicación (¡depuración vs lanzamiento, doh!).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top