Название: Как собрать драйвер Oracle? Отправлено: pen от Февраль 21, 2007, 09:09 Здравствуйте.
Есть коммерческий QT 4.2.0. В директории ../plugins/sqldrivers/ есть драйвера qsqlite, qsqlmysql, qsqlpsql, qsqlodbc. Мне нужен драйвер Oracle. Прошу помощи у уже собиравших этот драйвер. Если возможно, то в разверутом виде, т.к. мой уровень программирования оставляет желать лучшего. ОС: Windows XP Pro, также установлены MS VS2005, и клиент Oracle 9i Спасибо. P.S. если бы кто-то выслал мне на мыло драйвер был бы признателен. Название: Как собрать драйвер Oracle? Отправлено: nova от Февраль 21, 2007, 11:10 В асистенте, в разделе SQL Database Drivers написано как собрать драйвер.
У меня проблем никогда не возникало :) Название: Как собрать драйвер Oracle? Отправлено: pen от Февраль 21, 2007, 15:38 К сожалению, у меня не получается собрать его таким образом :-(
вот моя последовательность действий: D:\Qt\4.2.0>set INCLUDE=%INCLUDE%;c:\ORA902\oci\include D:\Qt\4.2.0>echo %INCLUDE% %INCLUDE%;c:\ORA902\oci\include D:\Qt\4.2.0>set LIB=%LIB%;c:\ORA902\oci\lib\msvc D:\Qt\4.2.0>echo %LIB% %LIB%;c:\ORA902\oci\lib\msvc D:\Qt\4.2.0>cd D:\Qt\4.2.0\src\plugins\sqldrivers\oci D:\Qt\4.2.0\src\plugins\sqldrivers\oci>qmake -o Makefile oci.pro D:\Qt\4.2.0\src\plugins\sqldrivers\oci>D:\MS_VS2005\VC\bin\nmake Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. D:\MS_VS2005\VC\bin\nmake.exe -f Makefile.Debug all Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. g++ -c -g -g -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITI ON=QT_EDITION_DESKTOP -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_Q MAIN -I"D:/Qt/4.2.0/include/QtCore" -I"D:/Qt/4.2.0/include/QtCore" -I"D:/Qt/4.2.0/include/ QtGui" -I"D:/Qt/4.2.0/include/QtGui" -I"D:/Qt/4.2.0/include" -I"." -I"D:/Qt/4.2.0/include/ ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\..\..\mkspecs\win32-g++" -o tmp\obj\debu g_shared\main.o main.cpp main.cpp:22:30: qsqldriverplugin.h: No such file or directory main.cpp:27: error: expected class-name before '{' token main.cpp: In constructor `QOCIDriverPlugin::QOCIDriverPlugin()': main.cpp:36: error: class `QOCIDriverPlugin' does not have any field named `QSqlDriverPlug in' main.cpp: At global scope: main.cpp:58: error: expected constructor, destructor, or type conversion before "Q_EXPORT_ PLUGIN2" main.cpp:58: error: expected `,' or `;' before "Q_EXPORT_PLUGIN2" NMAKE : fatal error U1077: 'D:\Qt\mingw\bin\g++.EXE' : return code '0x1' Stop. NMAKE : fatal error U1077: 'D:\MS_VS2005\VC\bin\nmake.exe' : return code '0x2' Stop. D:\Qt\4.2.0\src\plugins\sqldrivers\oci> ___________ вроде бы все как описано в ассистанте, но увы, не получается собрать :-( Буду признателен за любую помощь Название: Как собрать драйвер Oracle? Отправлено: zabivator от Февраль 21, 2007, 16:20 Видна ошибка - компилишь ты при помощи g++ а make зовется почему-то студийный - nmake. Сюда копай, почему так происходит.
Название: Как собрать драйвер Oracle? Отправлено: pen от Февраль 21, 2007, 17:03 в ассистанте сказано:
Build the plugin as follows (here it is assumed that Oracle Client is installed in C:\oracle): set INCLUDE=%INCLUDE%;c:\oracle\oci\include set LIB=%LIB%;c:\oracle\oci\lib\msvc cd %QTDIR%\src\plugins\sqldrivers\oci qmake -o Makefile oci.pro nmake If you are not using a Microsoft compiler, replace nmake with make in the line above. _______________ я пробовал собрать и при помощи MinGW 3.80 (mingw32-make) также не собирается. Может кто-то сталкивался с такой проблемой и решил ее. Пожалуйста, помогите мне разрешить ее. Название: Как собрать драйвер Oracle? Отправлено: Admin от Февраль 21, 2007, 17:15 вот ошибка
main.cpp:22:30: qsqldriverplugin.h: No such file or directory поставте путь к нему -Ipath Название: Как собрать драйвер Oracle? Отправлено: pen от Февраль 21, 2007, 18:17 Путь поставил, теперь вылазит другая ошибка:
D:\Qt\4.2.0\src\plugins\sqldrivers\oci>D:\MS_VS2005\VC\bin\nmake Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. D:\MS_VS2005\VC\bin\nmake.exe -f Makefile.Debug all Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. g++ -c -g -g -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_EDITI ON=QT_EDITION_DESKTOP -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_Q MAIN -I"D:\Qt\4.2.0\include\QtCore" -I"D:\Qt\4.2.0\include\QtCore" -I"D:\Qt\4.2.0\include\ QtGui" -I"D:\Qt\4.2.0\include\QtGui" -I"D:\Qt\4.2.0\include" -I"." -I"..\..\..\sql\kernel" -I"D:\Qt\4.2.0\include\ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\..\..\mkspecs\wi n32-g++" -I"C:\ORA902\oci\include" -o tmp\obj\debug_shared\moc_qsql_oci.o tmp\moc\debug_sh ared\moc_qsql_oci.cpp tmp\moc\debug_shared\moc_qsql_oci.cpp:36: error: definition of static data member 'QOCIDri ver::staticMetaObject' of dllimport'd class. tmp\moc\debug_shared\moc_qsql_oci.cpp:36: warning: 'QOCIDriver::staticMetaObject' defined locally after being referenced with dllimport linkage NMAKE : fatal error U1077: 'D:\Qt\mingw\bin\g++.EXE' : return code '0x1' Stop. NMAKE : fatal error U1077: 'D:\MS_VS2005\VC\bin\nmake.exe' : return code '0x2' Stop. Название: Как собрать драйвер Oracle? Отправлено: zabivator от Февраль 21, 2007, 19:22 Повторяю, у тебя компилятор зовется gcc, а make из студии (nmake) отсюда все и проблемы.
Название: Как собрать драйвер Oracle? Отправлено: pen от Февраль 22, 2007, 08:48 Цитата: "zabivator" Повторяю, у тебя компилятор зовется gcc, а make из студии (nmake) отсюда все и проблемы. Zabivaror, чем же собрать тогда? Я пробовал собрать в MinGW тоже вываливается с ошибкой. Я уже отчаялся :-( Название: Как собрать драйвер Oracle? Отправлено: Вудруф от Февраль 22, 2007, 10:02 Так вот и приведи ошибки, которые говорит mingw32-make...
Название: Как собрать драйвер Oracle? Отправлено: pen от Февраль 22, 2007, 11:04 Вот,
D:\Qt\4.2.0\src\plugins\sqldrivers\oci>D:\Qt\MinGW\bin\mingw32-make.exe D:/Qt/MinGW/bin/mingw32-make.exe -f Makefile.Debug all Makefile.Debug:62: *** multiple target patterns. Stop. mingw32-make.exe[1]: Entering directory `D:/Qt/4.2.0/src/plugins/sqldrivers/oci' mingw32-make.exe[1]: Leaving directory `D:/Qt/4.2.0/src/plugins/sqldrivers/oci' D:\Qt\MinGW\bin\mingw32-make.exe: *** [debug-all] Error 2 D:\Qt\4.2.0\src\plugins\sqldrivers\oci> Название: Как собрать драйвер Oracle? Отправлено: Вудруф от Февраль 24, 2007, 17:19 Цитировать multiple target patterns Насколько я понимаю, в данном случае он считает, что под цель all подходит несколько вариантов одновременно. Могу и ошибаться. Попробуйте просмотреть полученный makefile. Название: Как собрать драйвер Oracle? Отправлено: pen от Февраль 27, 2007, 09:49 Похоже, мне так и не удастся собрать этот драйвер :-(
форумчане, кто не жадный, вышлите пожалуйста мне драйвер на peter_pen@pochta.ru заранее спасибо Название: Как собрать драйвер Oracle? Отправлено: TukiNov от Февраль 27, 2007, 17:42 увы у меня только для 3.3.6
добавлено спустя 15 минут: хотя только что собрал qoci под 4.2.0 MSVS2005. могу его выслать Название: Как собрать драйвер Oracle? Отправлено: odin от Февраль 27, 2007, 19:19 дружочек :).... у меня такое чувство что у тебя в QMAKESPEC прописано - win-g++, а собираеш ты из консоли msvc
Цитировать NMAKE : fatal error U1077: 'D:\Qt\mingw\bin\g++.EXE' : return code '0x1' Stop. Название: Как собрать драйвер Oracle? Отправлено: pen от Февраль 28, 2007, 14:14 Цитата: "odin" дружочек :).... у меня такое чувство что у тебя в QMAKESPEC прописано - win-g++, а собираеш ты из консоли msvc Цитировать NMAKE : fatal error U1077: 'D:\Qt\mingw\bin\g++.EXE' : return code '0x1' Stop. Odin, в файле проекта нет QMAKESPEC. Намек понял, попробую QMAKESPEC = win32-msvc2005 добавлено спустя 41 минуту: это тоже не помогло :-( _________ C:\>set INCLUDE=%INCLUDE%;c:\ORA902\oci\include;d:\Qt\4.2.0\src\sql\kernel C:\>set LIB=%LIB%;c:\ORA902\oci\lib\msvc C:\>cd D:\Qt\4.2.0\src\plugins\sqldrivers\oci D:\Qt\4.2.0\src\plugins\sqldrivers\oci>qmake -o Makefile oci.pro D:\Qt\4.2.0\src\plugins\sqldrivers\oci>D:\MS_VS2005\VC\bin\nmake Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. D:\MS_VS2005\VC\bin\nmake.exe -f Makefile.Debug all Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -Zi -MDd -GR -EHsc -W3 -w3410 0 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKT OP -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"D:/Qt/4.2.0/includ e/QtCore" -I"D:/Qt/4.2.0/include/QtCore" -I"D:/Qt/4.2.0/include/QtGui" -I"D:/Qt/ 4.2.0/include/QtGui" -I"D:/Qt/4.2.0/include" -I"." -I"..\..\..\sql\kernel" -I"D: /Qt/4.2.0/include/ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\..\..\mkspec s\win32-msvc2005" -Fotmp\obj\debug_shared\ @C:\DOCUME~1\PEN~1.BOB\LOCALS~1\Temp\ nm3FC.tmp "cl" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. NMAKE : fatal error U1077: 'cl' : return code '0x1' Stop. NMAKE : fatal error U1077: 'D:\MS_VS2005\VC\bin\nmake.exe' : return code '0x2' Stop. D:\Qt\4.2.0\src\plugins\sqldrivers\oci> :-( Название: Как собрать драйвер Oracle? Отправлено: Sergey B. от Февраль 28, 2007, 17:25 Цитата: "pen" Цитата: "odin" дружочек :).... у меня такое чувство что у тебя в QMAKESPEC прописано - win-g++, а собираеш ты из консоли msvc Цитировать NMAKE : fatal error U1077: 'D:\Qt\mingw\bin\g++.EXE' : return code '0x1' Stop. Odin, в файле проекта нет QMAKESPEC. Намек понял, попробую QMAKESPEC = win32-msvc2005 добавлено спустя 41 минуту: это тоже не помогло :-( _________ C:\>set INCLUDE=%INCLUDE%;c:\ORA902\oci\include;d:\Qt\4.2.0\src\sql\kernel C:\>set LIB=%LIB%;c:\ORA902\oci\lib\msvc C:\>cd D:\Qt\4.2.0\src\plugins\sqldrivers\oci D:\Qt\4.2.0\src\plugins\sqldrivers\oci>qmake -o Makefile oci.pro D:\Qt\4.2.0\src\plugins\sqldrivers\oci>D:\MS_VS2005\VC\bin\nmake Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. D:\MS_VS2005\VC\bin\nmake.exe -f Makefile.Debug all Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -Zi -MDd -GR -EHsc -W3 -w3410 0 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKT OP -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"D:/Qt/4.2.0/includ e/QtCore" -I"D:/Qt/4.2.0/include/QtCore" -I"D:/Qt/4.2.0/include/QtGui" -I"D:/Qt/ 4.2.0/include/QtGui" -I"D:/Qt/4.2.0/include" -I"." -I"..\..\..\sql\kernel" -I"D: /Qt/4.2.0/include/ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\..\..\mkspec s\win32-msvc2005" -Fotmp\obj\debug_shared\ @C:\DOCUME~1\PEN~1.BOB\LOCALS~1\Temp\ nm3FC.tmp "cl" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. NMAKE : fatal error U1077: 'cl' : return code '0x1' Stop. NMAKE : fatal error U1077: 'D:\MS_VS2005\VC\bin\nmake.exe' : return code '0x2' Stop. D:\Qt\4.2.0\src\plugins\sqldrivers\oci> :-( У тебя не видно cl.exe - компилятор VC. Открой через меню "Пуск" "VS command promt". перейди в нём в каталог с плагином и запусти компиляцию опять. |