QT编译oracle驱动

首先要说明非常重要的一点:QT的位数需与oracle的位数一致,否则编译驱动的时候会一直报错!我用的QT版本是4.8.6,安装的oracle是32位的。


找到oracle里面两个重要文件夹的路径(F:\oracle是我的Oracle的安装路径,各人的情况不一)

F:\oracle\product\11.2.0\dbhome_1\OCI\include

F:\oracle\product\11.2.0\dbhome_1\OCI\lib\MSVC

找到待编译的工程(D:\Qt是我的QT的安装路径,各人的情况不一)

D:\Qt\4.8.6\src\plugins\sqldrivers\oci


将待编译工程里面的oci.pro文件修改如下(即添加最后两行代码):

TARGET = qsqloci
 
  
SOURCES = main.cpp
include(../../../sql/drivers/oci/qsql_oci.pri)
 
  
include(../qsqldriverbase.pri)
 
  
INCLUDEPATH += F:\oracle\product\11.2.0\dbhome_1\OCI\include
LIBPATH += F:\oracle\product\11.2.0\dbhome_1\OCI\lib\MSVC
 
  

看过网上很多编译的教程,下面总结两种编译的方法。

方法一:

打开Qt 4.8.6 Command Prompt,输入以下命令即可进行编译。

set INCLUDE=%INCLUDE%;F:\oracle\product\11.2.0\dbhome_1\OCI\include

set LIB=%LIB%;F:\oracle\product\11.2.0\dbhome_1\OCI\lib\MSVC

cd D:\Qt\4.8.6\src\plugins\sqldrivers\oci

qmake -makefile oci.pro

mingw32-make

QT编译oracle驱动_第1张图片

方法二:

在QT creator打开待编译的工程oci.pro,然后点击左侧的“项目”,选择“运行”,“Executable”那一项选择mingw32-make.exe编译器,运行工程,查看编译输出的结果即可。

QT编译oracle驱动_第2张图片

编译成功之后,生成的文件在oci工程的debug文件夹里面,将其复制到D:\Qt\4.8.6\plugins\sqldrivers目录下。

然后在QT中运行以下代码,测试oracle驱动是否编译成功

sql_test.pro文件:

QT += sql
 
  
SOURCES += \
    main.cpp

mian.cpp文件:

#include 
#include 
#include 
#include 
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver,drivers){
    qDebug()< 
  
    return a.exec();
}

运行结果有QOCI8和QOCI就说明成功了


QT编译oracle驱动_第3张图片

你可能感兴趣的:(QT)