Problem with building QOCI driver
-
wrote on 22 Aug 2024, 11:34 last edited by
Hi I have installed Qt 6.7.2, and after attempt to build QOCI driver I have error like this. Maybe someone knows why?
Setting up environment for Qt usage... C:\Qt\6.7.2\mingw_64>cd c:\OCI c:\OCI>SET PATH=%PATH%=C:\Qt\6.7.2\mingw_64\bin;C:\Qt\Tools\Ninja;C:\Qt\Tools\CMake_64\bin c:\OCI>qt-cmake -G Ninja C:\Qt\6.7.2\Src\qtbase\src\plugins\sqldrivers -DCMAKE_INSTALL_PREFIX="C:\Qt\6.7.2\mingw_64" -DOracle_INCLUDE_DIR="C:\Oracle\product\11.2.0\client_1\oci\include" -DOracle_LIBRARY="C:\Oracle\product\11.2.0\client_1\oci\lib\msvc\oci.lib" -- The CXX compiler identification is GNU 11.2.0 -- The C compiler identification is GNU 11.2.0 -- The ASM compiler identification is GNU -- Found assembler: C:/Qt/Tools/mingw1120_64/bin/gcc.exe -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Qt/Tools/mingw1120_64/bin/c++.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/Qt/Tools/mingw1120_64/bin/gcc.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Performing Test HAVE_STDATOMIC -- Performing Test HAVE_STDATOMIC - Success -- Found WrapAtomic: TRUE -- Force setting build type to 'RelWithDebInfo'. -- Configuration summary shown below. It has also been written to C:/OCI/config.summary -- Configure with --log-level=STATUS or higher to increase CMake's message verbosity. The log level does not persist across reconfigurations. -- Configure summary: Qt Sql Drivers: DB2 (IBM) .............................. no InterBase .............................. no MySql .................................. no OCI (Oracle) ........................... yes ODBC ................................... yes PostgreSQL ............................. no SQLite ................................. yes Using system provided SQLite ......... no Mimer .................................. no 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. -- Configuring done (6.7s) -- Generating done (0.1s) -- Build files have been written to: C:/OCI c:\OCI>cmake --build . [19/26] Building CXX object oci/CMakeFiles/QOCIDriverPlugin.dir/qsql_oci.cpp.obj FAILED: oci/CMakeFiles/QOCIDriverPlugin.dir/qsql_oci.cpp.obj C:\Qt\Tools\mingw1120_64\bin\c++.exe -DMINGW_HAS_SECURE_API=1 -DNOMINMAX -DQOCIDriverPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_UP_TO=0x040800 -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_NO_AS_CONST -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QEXCHANGE -DQT_PLUGIN -DQT_SQL_LIB -DQT_USE_QSTRINGBUILDER -DQT_WARN_DEPRECATED_UP_TO=0x070000 -DUNICODE -DWIN32 -DWIN64 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:/OCI/oci/QOCIDriverPlugin_autogen/include -IC:/Qt/6.7.2/Src/qtbase/src/plugins/sqldrivers/oci -IC:/OCI/oci -IC:/OCI/include -isystem C:/Oracle/product/11.2.0/client_1/oci/include -isystem C:/Qt/6.7.2/mingw_64/include/QtCore -isystem C:/Qt/6.7.2/mingw_64/include -isystem C:/Qt/6.7.2/mingw_64/mkspecs/win32-g++ -isystem C:/Qt/6.7.2/mingw_64/include/QtCore/6.7.2 -isystem C:/Qt/6.7.2/mingw_64/include/QtCore/6.7.2/QtCore -isystem C:/Qt/6.7.2/mingw_64/include/QtSql/6.7.2 -isystem C:/Qt/6.7.2/mingw_64/include/QtSql/6.7.2/QtSql -isystem C:/Qt/6.7.2/mingw_64/include/QtSql -g -DNDEBUG -O2 -std=c++17 -fvisibility=hidden -fno-keep-inline-dllexport -Wall -Wextra -fno-exceptions -Wa,-mbig-obj -Wsuggest-override -MD -MT oci/CMakeFiles/QOCIDriverPlugin.dir/qsql_oci.cpp.obj -MF oci\CMakeFiles\QOCIDriverPlugin.dir\qsql_oci.cpp.obj.d -o oci/CMakeFiles/QOCIDriverPlugin.dir/qsql_oci.cpp.obj -c C:/Qt/6.7.2/Src/qtbase/src/plugins/sqldrivers/oci/qsql_oci.cpp C:/Qt/6.7.2/Src/qtbase/src/plugins/sqldrivers/oci/qsql_oci.cpp: In static member function 'static bool QOCICols::execBatch(QOCIResultPrivate*, QVariantList&, bool)': C:/Qt/6.7.2/Src/qtbase/src/plugins/sqldrivers/oci/qsql_oci.cpp:1523:13: error: 'OCIBindByPos2' was not declared in this scope; did you mean 'OCIBindByPos'? 1523 | r = OCIBindByPos2( | ^~~~~~~~~~~~~ | OCIBindByPos [23/26] Building C object sqlite/CMakeFiles/QSQLiteDriverPlugin.dir/C_/Qt/6.7.2/Src/qtbase/src/3rdparty/sqlite/sqlite3.c.obj ninja: build stopped: subcommand failed. c:\OCI>
-
Lifetime Qt Championwrote on 22 Aug 2024, 12:20 last edited by Christian Ehrlicher
Oracle 11.2 is end of live since ages.
https://en.m.wikipedia.org/wiki/Oracle_Database
The Qt sql plugin supports 12.1 and up as you can see here: https://doc.qt.io/qt-6/sql-driver.html -
wrote on 23 Aug 2024, 06:28 last edited by apaczenko1993
Ok, thanks for help :), but I see that new version of Oracle driver doesn't support compiling with MinGW, so should I use MSVC?
-
-
1/3