Qt5.8以上版本编译Oracle数据库的OCI驱动教程
来源:互联网 发布:安卓源码之家 编辑:程序博客网 时间:2024/05/21 10:17
在前一篇的文章中我已经发过一个相似的文章,详情请点击:Qt5编译oracle驱动教程。
在那一篇文章中已经可以解决了Qt5的常用版本的Oracle数据库驱动的支持,但是在新的Qt开发工具中那种方法竟然失效了,具体出现在Qt5.7.1之后的版本。
这次我带来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。
打开C:\Qt\Qt5.8.0\5.8\Src\qtbase\src\plugins\sqldrivers\oci目录下面的oci.pro。
未进行修改的直接编译结果: Library 'oci' is not defined.
,
网上有一片关于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的意思是指定依赖库的路径。
进行修改后的编译结果:oci.dll: No such file or directory,没有这个文件或者目录
出现这种结果的原因很简单,那是因为你安装的Oracle数据库没有将对应的bin目录的路径添加到PATH中
图上面的是我的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下面即可。
好了,到这就结束了,来总结一下就是需要:
1、修改:将原有的QMAKE_USE += oci改为QMAKE_LFLAGS +=D:\app\Xiao\product\11.2.0\client_1\BIN\oci.dll。
2、添加: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
3、编译:构建→重新构建项目“oci”
4、拷贝:将:\plugins下面的“ sqldrivers ”文件夹复制到Qt的..\Qt\Qt5.8.0\5.8\mingw53_32\plugins下面即可。
注: 在这里附上一篇我已经编译好的驱动下载地址:Qt编译好的oracle驱动下载 。<这里将转到我的另一个博客中,只因这边审核时间太长,为了同步发出只好如此>
- Qt5.8以上版本编译Oracle数据库的OCI驱动教程
- Qt5.8以上版本编译Oracle数据库的OCI驱动教程
- WIN7+Qt5.2.0连接oracle数据库的oci驱动的编译
- WIN7+Qt5.2.0连接oracle数据库的oci驱动的编译
- QT5.7 编译oracle驱动oci centos7
- 用 qt opensource 版本 追加编译 oracle 的 oci 驱动
- Qt5编译oracle驱动教程
- Qt编译oracle数据库驱动oci
- Qt5 oracle数据库驱动编译
- qt编译oracle oci数据库驱动(一)
- qt 编译oracle oci驱动
- Qt编译Oracle OCI驱动
- Qt编译Oracle OCI驱动
- windows 下 Qt4.8编译oracle数据库OCI驱动 并使用
- Win7下编译Qt5.4OCI驱动和MySQL驱动
- Qt5编译好的oracle驱动下载
- Win7 Qt5.4.1+VS2013编译Oracle驱动,连接Oracle数据库
- qt5.8 + vs2015 编译 qoci 驱动 Project ERROR: Library 'oci' is not defined
- 各个win系统下载地址
- Minimum Absolute Difference in BST
- iOS MapKit+CoreLocation
- HDU 3572 Task Schedule(最大流)
- 2017-8-16 Struts2学习笔记四
- Qt5.8以上版本编译Oracle数据库的OCI驱动教程
- 理解转发与重定向
- leetcode[Diameter of Binary Tree]//待整理多种解法
- 1.算法基本要素
- Android6.0运行时权限
- java学习初探5之this关键字
- 用Javascript获取页面元素的位置
- java虚拟机
- fiddler filters 使用(fiddler只显示指定请求,fiddler不显示指定请求,即filter请求过滤)转自:http://blog.csdn.net/notejs/article/