2016-03-26 13 views
2

Bugün size bina sürücüleri hakkında bir soru sormak istiyorum. Böyle benim küçük QT Veritabanı vardır: AncakMYSQL sunucusunu kullanarak QT için sürücü oluşturma hatası (mingw32-make)

mainDB = QSqlDatabase::addDatabase("QMYSQL"); 
mainDB.setHostName("127.0.0.1"); 
mainDB.setPort(3306); 
mainDB.setDatabaseName("Database_Name"); 
mainDB.setUserName("root"); //create editors account later 
mainDB.setPassword("Password"); //so on :) 
if(mainDB.open()) 
    qDebug() << "mainDB is open"; 
else 
    qDebug() << "mainDB error"; 

, o zaman bu derlemeye çalıştık, bir hata mesajı aldım:

QSqlDatabase: QMYSQL driver not loaded    
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7 

Bu şeyi biraz googled ve, fark ne MySQL kullanarak QT için bir sürücü oluşturmadım. Yani, benim cmd bu yazdığınız:

C:\Qt\5.6\Src\qtbase\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH += C:\Program Files\MySQL\MySQL Server 5.7\include" "LIBS+=C:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.lib" mysql.pro 

(. Hepsi gibi (MySQL sunucusunda içeren h yüz dosyaları) için ben yolunu kullanılan ve LIBS içinde benim libmysql dosyasının yolunu kullanılan INCLUDEPATH) . İyi derlenmiş ve derlememi bitirmek için

yazdım. Benim C sonucunda

In file included from main.cpp:36:0: 
    ../../../sql/drivers/mysql/qsql_mysql_p.h:55:19: fatal error: mysql.h: No 
    such file or directory 
#include <mysql.h> 
       ^
compilation terminated. 
Makefile.Release:466: recipe for target '.obj/release/main.o' failed 
mingw32-make[1]: *** [.obj/release/main.o] Error 1 
mingw32-make[1]: Leaving directory 'C:/Qt/5.6/Src/qtbase/src/plugins/sqldrivers/ 
mysql' 
makefile:38: recipe for target 'release-all' failed 
mingw32-make: *** [release-all] Error 2 

ve: Ancak bir hata yakalar \ Qt \ 5.6 \ Src \ qtbase \ plugins \ sqldrivers boş.

Bilmek isterim, nasıl düzeltebilirim? \ Qt \ 5.6 \ mingw49_32 \ bin; C: evet, YayınÄ vermedi

Ve \ Qt \ Tools \ mingw492_32 bin \; sistemde bir "PATH" değişkeni olarak dirs.

Teşekkürler!

cevap

1

Windows'ta çalışırken, MySQL C client'u yüklemeniz gerekir (bu, mysql.h dosyasının nereden geldiğini gösterir).

+1

Eh, onu kullanıyorum, tüm aviable seçeneklerini kurdum (konektörler/çalışma tezgahları/e.t.c dahil). Sorun şu ki - MySQL Server 5.7 \ include dizinindeki mysql.h dosyasını görüyorum - ancak, mingw yapma ... ya da sadece seni anlamıyorum ve farklı bir şeyden mi bahsediyorsun? http://www.seppemagiels.com/blog/create-mysql-driver-qt5-windows –

+0

Belki, daha sonra env Var dahil burada Tuto bkz eksik. Belki bir başkası mysql.h dosyasını indirmek daha iyi olacak? Arı görmek istemediğini neden bilmiyorum. (Ayrıca mysql \ qt sürümlerini değiştirmeye çalışacağım) – Ilya

+0

Aynı hatayı burada: –

İlgili konular