准备工作:
安装Qt5.6.3 (安装MINGW版本或MSVC版本)
安装VS2015 (不需要编译msvc下驱动可以不安装)
安装oracle10g客户端,编译需要用到客户端里的lib/dll文件
一、MSVC环境下编译
编译环境:
- qt 5.6.3+MSVC2015 32bit
- oracle10g客户端
- win7 64位系统
使用qt create编译oracle驱动
修改qt creator编码方式system(可能不修改也可以,保险起见使用GBK编码和MSVC保持一致)
- 使用qt creater直接打开C:\Qt\Qt5.6.3MSVC\5.6.3\Src\qtbase\src\plugins\sqldrivers\oci\oci.pro工程文件。
- 修改pro文件
F:\oracle\product\10.2.0\client_1是我安装oracle10g客户端目录
添加如下代码:
QMAKE_LFLAGS += oci.lib
INCLUDEPATH +=F:\oracle\product\10.2.0\client_1\oci\include
LIBPATH +=F:\oracle\product\10.2.0\client_1\oci\lib\msvc
- 执行make—》构建项目OCI,这时候我们在Qt安装的根目录下面去找 “:\plugins” 我的目录在c:\ plugins;会发现里面有一个“ sqldrivers ”文件夹,将其内容复制到Qt的.. C:\Qt\Qt5.6.3MSVC\5.6.3\msvc2015\plugins\sqldrivers下面即可。
二、MINGW编译
编译环境:
qt 5.6.3+MINGW4.9.2 32bit
oracle10g客户端
win7 64位系统
修改qt creator编码方式UTF-8(可能不修改也可以,保险起见使用UTF-8编码和MINGW保持一致)
1、使用qt creater直接打开C:\Qt\Qt5.6.3MINGW\5.6.3\Src\qtbase\src\plugins\sqldrivers\oci\oci.pro工程文件。
2、修改pro文件
F:\oracle\product\10.2.0\client_1是我安装oracle10g客户端目录
添加如下代码:
QMAKE_LFLAGS +=F:\oracle\product\10.2.0\client_1\BIN\oci.dll
INCLUDEPATH += F:\oracle\product\10.2.0\client_1\oci\include
LIBPATH += F:\oracle\product\10.2.0\client_1\oci\lib\msvc
3、执行make—》构建项目OCI,这时候我们在Qt安装的根目录下面去找 “:\plugins” 我的目录在c:\ plugins;会发现里面有一个“ sqldrivers ”文件夹,将其内容复制到Qt的.. C:\Qt\Qt5.6.3MINGW\5.6.3\msvc2015\plugins\sqldrivers下面即可。
注意:
使用vc编译的使用源文件中QMAKE_LFLAGS +=oci.lib,
使用gcc编译的改为QMAKE_LFLAGS +=oci.dll,
因为我用的是mingw版本所以我的是QMAKE_LFLAGS +=oci.dll。
注:QMAKE_LFLAGS的意思是指定依赖库的路径。