linux下qt编译oci,Qt5.8以上版本编译Oracle数据库的OCI驱动教程

在前一篇的文章中我已经发过一个类似的文章,详情请点击:Qt5编译oracle驱动教程。html

在那一篇文章中已经能够解决了Qt5的经常使用版本的Oracle数据库驱动的支持,可是在新的Qt开发工具中那种方法居然失效了,具体出如今Qt5.7.1以后的版本。sql

此次我带来Qt5.8.0的编译教程,Qt5.9的版本一样适用。数据库

Qt版本是Qt5.8.0,安装路径是默认的 C:\Qt\Qt5.8.0,Oracle客户端版本oracle 11g安装路径是 D:\app\Xiao\product\11.2.0\client_1。oracle

打开C:\Qt\Qt5.8.0\5.8\Src\qtbase\src\plugins\sqldrivers\oci目录下面的oci.pro。app

未进行修改的直接编译结果: Library 'oci' is not defined.工具

3fd87af6e055c59979a482922b75c779.png,post

网上有一片关于qt5.8 + vs2015 编译 qoci 驱动 Project ERROR: Library 'oci' is not defined的教程,可是和我用的不同,我用的是mingw版本。故此他的方法我用不了。若是你的是用vs编译的能够去他那边看看,成与不成我没试过。开发工具

使用vc编译的将源文件中的QMAKE_USE += oci改成QMAKE_LFLAGS +=oci.lib,使用gcc编译的改成QMAKE_LFLAGS +=oci.dll,由于我用的是mingw版本因此个人是QMAKE_LFLAGS +=oci.dll。注:QMAKE_LFLAGS的意思是指定依赖库的路径。url

进行修改后的编译结果:oci.dll: No such file or directory,没有这个文件或者目录spa

9ffcf608e8cac436c0a0e3dc2fbefe76.png

出现这种结果的缘由很简单,那是由于你安装的Oracle数据库没有将对应的bin目录的路径添加到PATH中

a3f9a4fea6d18baa58426abc7e66359c.png

图上面的是个人bin路径。这时候大家会说个人里面也添加了,软件安装的时候就本身添加了等等……

这里声明一下为何要添加PATH,由于QMAKE_LFLAGS +=oci.dll,他加载的“oci.dll”就在那个bin目录里面,如今大家都明白了吧!

而咱们出现错误的缘由就是这里,Qt他没有找到你的PATH,故此咱们就用最简单粗暴的方法添加进去就能够。

QMAKE_LFLAGS +=D:\app\Xiao\product\11.2.0\client_1\BIN\oci.dll,注:加红的部分是你安装的Oracle数据库的bin目录位置。

进行到了这里,好多人仍是没办法编译成功,嘿嘿……下面就是我要提醒大家的,若是大家看过上一篇相似文章的话,就不应忘记添加

INCLUDEPATH += D:\app\Xiao\product\11.2.0\client_1\oci\include

LIBPATH += D:\app\Xiao\product\11.2.0\client_1\oci\lib\msvc

以后再从新编译,就会发现编译经过了,这时候咱们在Qt安装的根目录下面去找 “:\plugins”会发现里面有一个“ sqldrivers ”文件夹,将其复制到Qt的..\Qt\Qt5.8.0\5.8\mingw53_32\plugins下面便可。

好了,到这就结束了,来总结一下就是须要:

一、修改:将原有的QMAKE_USE += oci改成QMAKE_LFLAGS +=D:\app\Xiao\product\11.2.0\client_1\BIN\oci.dll。

二、添加:INCLUDEPATH += D:\app\Xiao\product\11.2.0\client_1\oci\include

LIBPATH += D:\app\Xiao\product\11.2.0\client_1\oci\lib\msvc

三、编译:构建→从新构建项目“oci”

四、拷贝:将:\plugins下面的“ sqldrivers ”文件夹复制到Qt的..\Qt\Qt5.8.0\5.8\mingw53_32\plugins下面便可。

注: 在这里附上一篇我已经编译好的驱动下载地址:Qt编译好的oracle驱动下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值