crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> при создании базы выдает ошибку, QT + SQLITE
Crockus
  опции профиля:
сообщение 21.3.2011, 18:18
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 21.3.2011
Пользователь №: 2528

Спасибо сказали: 0 раз(а)




Репутация:   0  


Не судите строго, при создании элементарного подключения выдает ошибку смысл которой прошу объяснить.

#include <QtGui>
#include <QtSql>

    int main(int argc, char *argv[]) {

        QApplication app(argc, argv);

        QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
        db.setDatabaseName("db1");
        db.setUserName("");
        db.setPassword("");
        db.open();

        return app.exec();
    }

вот ошибка

obj\Debug\main.o||In function `main':|
Q:\files\Edu\QDataBase\main.cpp|8|undefined reference to `_imp___ZN12QSqlDatabase17defaultConnectionE'|
Q:\files\Edu\QDataBase\main.cpp|8|undefined reference to `_imp___ZN12QSqlDatabase11addDatabaseERK7QStringS2_'|
Q:\files\Edu\QDataBase\main.cpp|8|undefined reference to `_imp___ZN12QSqlDatabaseD1Ev'|
Q:\files\Edu\QDataBase\main.cpp|9|undefined reference to `_imp___ZN12QSqlDatabase15setDatabaseNameERK7QString'|
Q:\files\Edu\QDataBase\main.cpp|10|undefined reference to `_imp___ZN12QSqlDatabase11setUserNameERK7QString'|
Q:\files\Edu\QDataBase\main.cpp|11|undefined reference to `_imp___ZN12QSqlDatabase11setPasswordERK7QString'|
Q:\files\Edu\QDataBase\main.cpp|12|undefined reference to `_imp___ZN12QSqlDatabase4openEv'|
Q:\files\Edu\QDataBase\main.cpp|14|undefined reference to `_imp___ZN12QSqlDatabaseD1Ev'|
Q:\files\Edu\QDataBase\main.cpp|14|undefined reference to `_imp___ZN12QSqlDatabaseD1Ev'|
||=== Build finished: 9 errors, 0 warnings ===|


и как ее устранить
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 21.3.2011, 18:56
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


в проекте указано что то вроде ?
QT += gui \
    core \
    sql

вот это +sql и указывает на необходимость поключения библиотек работающих с базой. Вставляем в имя_проекта.pro, далее qmake и вперед
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_Crockus_*_*
сообщение 21.3.2011, 19:23
Сообщение #3





Гости








    


Цитата(maint @ 21.3.2011, 18:56) *
в проекте указано что то вроде ?
QT += gui \
core \
sql
Language: cpp

вот это +sql и указывает на необходимость поключения библиотек работающих с базой. Вставляем в имя_проекта.pro, далее qmake и вперед

все указано

TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
QT += sql

# Input
SOURCES += main.cpp

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
xls
  опции профиля:
сообщение 22.3.2011, 13:51
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 44
Регистрация: 6.9.2010
Пользователь №: 2013

Спасибо сказали: 7 раз(а)




Репутация:   2  


Возможно, ваш драйвер СУБД собран не тем компилятором, которым вы пытаетесь скомпилировать приложение. ( VS and MinGW).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Crockus
  опции профиля:
сообщение 22.3.2011, 20:15
Сообщение #5


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 21.3.2011
Пользователь №: 2528

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(xls @ 22.3.2011, 12:51) *
Возможно, ваш драйвер СУБД собран не тем компилятором, которым вы пытаетесь скомпилировать приложение. ( VS and MinGW).

дело не в драйверах, такую же ошибку выдает даже если просто билдить
QSqlDatabase db;

забыл сказать все это я собыраю в codeblocks, я думаю, что причина в настройках но что именно не могу понять
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 22.3.2011, 20:43
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 233
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(Crockus @ 23.3.2011, 1:15) *
Цитата(xls @ 22.3.2011, 12:51) *
Возможно, ваш драйвер СУБД собран не тем компилятором, которым вы пытаетесь скомпилировать приложение. ( VS and MinGW).

дело не в драйверах, такую же ошибку выдает даже если просто билдить
QSqlDatabase db;

забыл сказать все это я собыраю в codeblocks, я думаю, что причина в настройках но что именно не могу понять

тогда точно подключение библиотек. Мучался когда то. Там есть возможность, если мне память не изменяет, не с их форматом работать, а с обычным makefile.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Crockus
  опции профиля:
сообщение 22.3.2011, 23:33
Сообщение #7


Новичок


Группа: Новичок
Сообщений: 7
Регистрация: 21.3.2011
Пользователь №: 2528

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(maint @ 22.3.2011, 19:43) *
тогда точно подключение библиотек. Мучался когда то. Там есть возможность, если мне память не изменяет, не с их форматом работать, а с обычным makefile.

так и есть всем спасибо, тема закрыта. В настройках проекта кнопочка "Project's build options..."->Linker setting-> Link libraries нужно добавить запись QtSql4
Может кому еще пригодится, аналогично подключаются другие библиотеки.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Славко_*
сообщение 11.5.2011, 8:19
Сообщение #8





Гости








    


Цитата(Crockus @ 22.3.2011, 23:33) *
Цитата(maint @ 22.3.2011, 19:43) *
тогда точно подключение библиотек. Мучался когда то. Там есть возможность, если мне память не изменяет, не с их форматом работать, а с обычным makefile.

так и есть всем спасибо, тема закрыта. В настройках проекта кнопочка "Project's build options..."->Linker setting-> Link libraries нужно добавить запись QtSql4
Может кому еще пригодится, аналогично подключаются другие библиотеки.

Ты наверное кое-что забыл. У меня заработало только когда в Project -> Properties... -> Project Settings -> Project build options... -> Search directories -> Compiler, кнопочкой Add найти папку с хедерами: ..\%QTDIR%\qt\include\QtSql 8)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.6.2022, 9:53