Skip to content
QtWS25 Last Chance
  • 0 Votes
    4 Posts
    399 Views
    Hi, @Zapelniczek said in Building OCI plugin on Windows: After deleting file config.cache i was able to build correctly plugin. Plus i had to switch to 32x compiler and qmake to get rid of linking errors for some reason qmake only linked 32x libraries from enviornment variables. Problem solved. Likely because only the 32bit versions of the dependencies are located where your environment variables points them.
  • 0 Votes
    3 Posts
    2k Views
    @Christian-Ehrlicher Thanks for reply. After some hours of trying , I finally managed to make a progress, but then got stuck in the linkage stage. I decided to give up and downgraded to Qt 5.9.7. QOCI plugin compiled out of the box without any problems.
  • 0 Votes
    4 Posts
    1k Views
    Hi, thank you for reply. Will try to reapply only changes as we did in the past in hope it will work. Will update this thread if manage to find something out.
  • 0 Votes
    4 Posts
    2k Views
    http://download.qt.io/official_releases/qt/ You also have the MaintenanceTool that offers that possibility.
  • 0 Votes
    10 Posts
    5k Views
    I made several modifications ... but i think the properly modifications are In : QtSrc\qtbase\mkspecs\win32-g++\qmake.conf add QMAKE_LFLAGS += -static -static-libgcc QMAKE_CFLAGS_RELEASE -= -O2 QMAKE_CFLAGS_RELEASE += -Os -momit-leaf-frame-pointer DEFINES += QT_STATIC_BUILD In : QtSrc\qtbase\src\plugins\sqldrivers\oci\oci.pro add QMAKE_LFLAGS += oracle_home\oci\lib\msvc\oci.lib QMAKE_LFLAGS += oracle_home\oci\lib\msvc\ociw32.lib QMAKE_LFLAGS += oracle_home\oci\lib\msvc\oraocci11.lib LIBS += -Loracle_home\oci\lib\msvc -loci -lociw32 -loraocci11 INCLUDEPATH += oracle_home\oci\include cmd -static -debug-and-release -platform win32-g++ -prefix QtPath\Static -I C:\\OpenSSL-Win32\\include -L C:\\OpenSSL-Win32\\lib -opensource -confirm-license -c++std c++14 -nomake examples -skip qtdoc -skip wayland -skip purchasing -skip serialbus -skip qtserialport -skip script -skip scxml -skip speech -skip location -no-opengl -no-angle -qt-zlib -qt-pcre -qt-libpng -no-libjpeg -qt-freetype -sql-oci -I oracle_home\oci\include -L oracle_home\oci\lib\msvc try it. the other modifications do not matter
  • 0 Votes
    7 Posts
    3k Views
    The XXX was meant to be replaced with whatever sql plugin you wanted to have built-in Since you have it working now, please update the thread title prepending [solved] so other forum users may know a solution has been found :)
  • 1 Votes
    6 Posts
    13k Views
    Ok. I found solution. Documentation says set INCLUDE=%INCLUDE%;c:\oracle\oci\include set LIB=%LIB%;c:\oracle\oci\lib\msvc cd %QTDIR%\src\plugins\sqldrivers\oci qmake oci.pro nmake If you are not using a Microsoft compiler, replace nmake with make in the line above. but make or nmake didn't work for me. Because I have not installed Microsoft Visual c++ on my machine. I made instruction how to do this: 1 . At first don't forget to install qt sources. During the installation check Sources checkbox. 2 . then download and install oracle client win32_11gR2_client.zip. choose Runtime option during installation.(even if you are using 64 bit os download 32 bit version on oracle client). It creates c:\app\user\product\client_1... directory 3 . then open qt minGW command line(start ->all programs -> qt[version] -> [version] -> MinGW [version] -> Qt [version] for Desktop MinGW [version]) and move to the oci source folder: cd C:\Qt\Qt[version][version]\Src\qtbase\src\plugins\sqldrivers\oci 4 . then as documentation says include OCI(Oracle call interface) path and library: set INCLUDE=%INCLUDE%;c:\app\user\product[version]\client_1\oci\include set LIB=%LIB%;c:\app\user\product[version]\client_1\oci\lib\msvc 5 . compile oci driver by executing these two lines: qmake oci.pro mingw32-make it will creates two .dll files for you qsqloci.dll(release version) and qsqlocid.dll(debug version) 6 . last step is to copy these two files into qtcreator installation folder. go to the: C:\Qt\Qt[version][version]\Src\qtbase\plugins\sqldrivers and copy these files into: C:\Qt\Qt[version][version]\mingw[version]\plugins\sqldrivers and you are ready to go. to check connection try this code: #include <QCoreApplication> #include <QtSql> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QSqlDatabase db = QSqlDatabase::addDatabase("QOCI"); db.setHostName("MY_IP_OR_HOST_NAME"); db.setDatabaseName("XE"); db.setUserName("test"); db.setPassword("test_password"); if (!db.open()) { qDebug() << db.lastError().text(); } else{ qDebug() << "Wow opened"; } return a.exec(); }
  • 0 Votes
    4 Posts
    2k Views
    HI, if you use MSVC and not mingw you must replace the line C: \ Qt \ Qt5.4.0 \ Tools \ mingw482_32 \ bin \ mingw32-make.exe by nmake (cf Qt documentation) and I believe it's not recommended to use Qt 5.4.0 and MSVC,it's better tou use Qt 5.4.1 (binary compatiblity problems with 5.4.0 and MSVC)