Russian Qt Forum
Май 27, 2024, 11:48 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Статическая сборка с поддержкой mysql и oci - прошу внести ясность.  (Прочитано 6241 раз)
PavelDart
Гость
« : Ноябрь 18, 2009, 23:01 »

Перечитал подходящие темы - начал путаться.
Собираю статическую сборку под виндой силами mingw.

При последней попытке вот что было:

configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -qt-sql-mysql -qt-sql-oci

Перед конфигурированием получил вот:
WARNING: Qt does not support compiling the Oracle database driver with
MinGW, due to lack of such support from Oracle. Consider disabling the
Oracle driver, as the current build will most likely fail.

Позже:
WARNING: Failure to find: drivers\oci\qsql_oci.cpp
WARNING: Failure to find: drivers\oci\qsql_oci.h
WARNING: Failure to find: drivers\oci\qsql_oci.cpp
WARNING: Failure to find: drivers\oci\qsql_oci.h


По этому пути src\sql\drivers\ пишет ошибку? Там действительно нет этой папки. Где можно достать эти недостающие файлы?

И ещё в результате сборки:
kernel\qsqldatabase.cpp:62:37: ../drivers/oci/qsql_oci.h: No such file or directory
kernel\qsqldatabase.cpp: In member function `void QSqlDatabasePrivate::init(const QString&)':
kernel\qsqldatabase.cpp:725: error: `QOCIDriver' has not been declared
mingw32-make[2]: *** [tmp/obj/release_static/qsqldatabase.o] Error 1
mingw32-make[2]: Leaving directory `E:/Qt/4.3.4/src/sql'
mingw32-make[1]: *** [release] Error 2
mingw32-make[1]: Leaving directory `E:/Qt/4.3.4/src/sql'
mingw32-make: *** [sub-sql-make_default] Error 2


Все пути я рассовал в %path%, %lib%, %include% перед сборкой. Достаточно ли этого или надо прописывать ключи -I -L ?

Насколько я понял, перед конфигурированием надо собрать драйвера для каждой СУБД?
Вообщем, плаваю я прилично. Будте добры, прокомментируйте подробнее описанные моменты.
« Последнее редактирование: Ноябрь 18, 2009, 23:41 от PavelDart » Записан
PavelDart
Гость
« Ответ #1 : Ноябрь 19, 2009, 22:54 »

Ещё раз прошу о помощи. Подобные вопросы обсуждали много раз.

Вот это меня приводи в недоумение:
Цитировать
If you copy MySQL library and header files directly to the MinGW's lib and inlude directories respectively, the next Qt build will be a bit easier.

This section assumes that MySQL is installed in C:\MySQL, MinGW is installed in C:\MinGW and C:\MinGW\bin is included in PATH environment variable.

Open the command prompt and issue these commands:

cd C:\MySQL\lib
reimp -d libmysql.lib
dlltool -k --input-def libmysql.def --dllname libmysql.dll --output-lib C:\MinGW\lib\libmysql.a


and copy contents of MySQL's include directory to C:\MinGW\include.
Now when you build Qt, you don't have to specify the any paths to MySQL. So you can simply invoke:

configure -qt-sql-mysql -qt-sql-odbc -qt-sql-sqlite ...

You can use the same method for other libraries.

Что первично? Сперва надо драйвера своять, потом конфигурировать или же как-то по-другому???
Записан
aliks-os
Гость
« Ответ #2 : Март 04, 2010, 11:53 »

Надо указать путь к заголовочным файлам Mysql собрать драйвер, ну а потом перекомпилить qt.
например

REM Building the QMYSQL plugin dll
cd C:\Qt\2010.01\qt\src\plugins\sqldrivers\mysql
mingw32-make clean
qmake "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=-LC:\MYSQL\LIB\OPT -lmysql"  mysql.pro
mingw32-make

REM KOMPIL LIB
cd C:\Qt\2010.01\qt
mingw32-make clean
configure -qt-sql-mysql -plugin-sql-mysql -I c:\mysql\include -L c:\mysql\lib\opt
mingw32-make
Записан
кып
Гость
« Ответ #3 : Март 04, 2010, 12:02 »

Для oci надо клиента oracle поставить и надо прописывать ключи -I -L, путей недостаточно.
Записан
aliks-os
Гость
« Ответ #4 : Март 05, 2010, 11:58 »

Конечно, без установки клиента ничего не получиться
Записан
кып
Гость
« Ответ #5 : Март 05, 2010, 13:42 »

Если не нужен полный клиент, то достаточно будет instant clent
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

оттуда понадобятся:
Instant Client Package - Basic (это основное)
Instant Client Package - SDK (это собственно необходимое для сборки драйвера
ну и
Instant Client Package - SQL*Plus (консольная тулза для доступа к серверу)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 17.