November 30, 2011

HerpaMoTeH HerpaMoTeH
Lab Rat
11 posts

MySQL и Qt под Убунту

 

Здравейте,
Някой може ли да ми обясни като за идиот как мога да си компилирам драйвер за mysql ? При добавянето на <QtSql/QMYSQLDriver> при компилиране на проекта ми изкарва съобщението :

  1. /usr/include/qt4/QtSql/qsql_mysql.h:52: error: mysql.h: No such file or directory

Четох в интернет, но всичко, което Google ми открива е за MinGW, което доколкото рабзрах е само на Windows. Другият вариант, който намерих е да си кача QtSDK, но и там го нямаше :(

5 replies

November 30, 2011

task_struct task_struct
Hobby Entomologist
344 posts

Здравей,

едното, което трябва да провериш е дали в .pro файла имаш следният ред:

  1. QT += sql

Другото е дали имаш инсталиран MySQL драйвъра. Мисля, че Qt по подразбиране идва само с sqlite. Има пакет за него в Ubuntu. Съвсем скоро си преинсталирах Kubuntu-то, но не помня дали идваше директно или трябва ръчно да го добавиш, но пакет със сигурност има.

Също така не ти трябва да добавяш директно <QtSql/QMYSQLDriver>. Просто си създаваш QSqlDatabase променлива, както е описано в документацията и от там си казваш, че ще ползваш MySQL.

Примера от документацията:

  1. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  2.      db.setHostName("acidalia");
  3.      db.setDatabaseName("customdb");
  4.      db.setUserName("mojito");
  5.      db.setPassword("J0a1m8");
  6.      bool ok = db.open();

 Signature 

“Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.”
- Linus Torvalds

November 30, 2011

Yordan Ivanov Yordan Ivanov
Lab Rat
42 posts

Има и още нещо. преди всичко трябва да си компилираш MySQL драйвера за Qt. Тук [doc.qt.nokia.com] е описано подробно как става.
EDIT: Това [pikopong.com] също може да ти е от полза.

November 30, 2011

task_struct task_struct
Hobby Entomologist
344 posts

Има готов пакет в хранилищата, няма нужда да се компилира нищо. Само инсталирай пакета libqt4-sql-mysql.

 Signature 

“Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.”
- Linus Torvalds

December 2, 2011

HerpaMoTeH HerpaMoTeH
Lab Rat
11 posts

Инсталирал съм го този пакет. Даже го бях инсталирал като си инсталирах Qt.

December 2, 2011

task_struct task_struct
Hobby Entomologist
344 posts

Странно, при мен тоя файл, го има и не съм качвал нищо друго освен този пакет. Аз съм с Кубунту 11.10

 Signature 

“Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.”
- Linus Torvalds

 
  ‹‹ QML Camera Element      qml bluetooth литература ››

You must log in to post a reply. Not a member yet? Register here!