QT4 İçin Mysql Driver Sorunu
-
arkadaşlar sorunumu söylemeden önce sistemimi belirteyim, işletim sistemi crunchbang statler (debian tabanlı) ve Qt 4.7.4 yüklü.
kendi yazdığım bir programla mysql veritabanına bağlanmak istiyorum, fakat kodu derlerken şöyle bir hata veriyor:
------
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE
------Qt'nin yüklü olduğu dizinde de bu sürücüler mevcut değil:
----
overbite@crunch:~/QtSDK/Desktop/Qt/474/gcc/plugins/sqldrivers$ ls
libqsqlite2.so libqsqlite.so
----kısaca bu sürücüleri nasıl yükleyebilirim? internette aramalarım sonucu driverları kendim derlemem gerek fakat nasıl yapacağımı bilemedim. yardımcı olabilirseniz sevinirim. iyi günler
-
Başka QT kullanan var mı acaba?
-
qt için mysql kütüphanesi yüklümü kontrol et.
apt-get install libqt4-mt-mysql olucak kütüphanenin ismi değişmiş olabilir ama böyle birşey olması lazım.
edit:Ubuntuda apt-get install libqt4-sql-mysql olarak denedim çalıştı buda olabilir.
-
sandman bunu yazdı:
-----------------------------qt için mysql kütüphanesi yüklümü kontrol et.
apt-get install libqt4-mt-mysql olucak kütüphanenin ismi değişmiş olabilir ama böyle birşey olması lazım.
-----------------------------
libqt4-sql ve libqt4-sql-mysql kütüphaneleri yüklü hocam bunları daha önce de kontrol etmiştim
-
QtCreater kurdun mu normalde onu kurdugun zaman otomatik olarak kuruyor olması lazım. Büyük ihtimalle Qt ortam degişkeni olarak eklenmemiş olabilir. "env" komutu ile bir baksana eklenmiş mi?
-
QtCreator yüklü hocam, env çıktısında qt ile ilgili bir şey yok ?
ben sonradan mysql-server da yükledim, şimdi qt'yi silip baştan kursam kendisi yükler mi? qt'yi yüklediğim zaman mysql-server yüklü değildi
-
sorunu kendim çözmeyi başardım, izlediğim adımlar aşağıdaki gibidir.
önce mysql header dosyaları sistemimde yoktu sanırım onları yükledim
sudo apt-get install libmysqlclient-dev
garanti olsun diye bağlayıcıyı da yükledim :D
sudo apt-get install libmysqlcppconn-dev
bunları yaptıktan sonra mysql header dosyalarının bulunduğu path: /usr/include/mysql oldu ve kütüphane dosyalarının olduğu path ise /usr/lib
bazı sistemlerde /usr/lib/mysql gibi değişik olabiliyormuş.daha sonra qt4 kaynak dosyalarını yükledim, ben qt'yi kurarken bunları seçmemiştim o yüzden bende yoktu, fakat sizde olabilir. bunları yüklemeyi ise Menü->Geliştirme->SDK-Meintanance-Tool yolunu izleyerek gelen pencereden Package Manager seçtim ve orda kaynak dosyalarını tikleyip ileri dedim sonra bu dosyaları kendisi yükledi.
daha sonra terminalden kaynak dosyalarının olduğu dizine geçtim:
cd /opt/QtSDK/QtSources/4.7.4/src/plugins/sqldrivers/mysql
sonra şu komutlar ile driver'i build ettim:
sudo /opt/QtSDK/Desktop/Qt/474/gcc/bin/qmake -o Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/ -lmysqlclient" mysql.pro
yukarıdaki komutla beraber makefile oluşmuş oldu ve
make
komutuyla işi bitirdim :D bulunduğum dizinde libqsqlmysql.so adlı yavru ceylanım bana bakıyordu. sonra bunu qtnin sqldriver klasörüne kopyaladım.
cp libqsqlmysql.so /opt/QtSDK/Desktop/Qt/474/gcc/plugins/sqldrivers
şimdi sorumdaki hatayı almıyorum, her şey yolunda görünüyor. ilgilenenlere teşekkür ederim.
