Qt5.3.1 Mingw32 编译oracle 11g 驱动
来源:互联网 发布:图片批量下载软件 编辑:程序博客网 时间:2024/05/01 00:20
~~~~我的生活,我的点点滴滴!!
工作中用到数据库是在频繁不过了,但是Qt默认只支持odbc和sqlite,不过还好,他提供了编译的接口,我们只需要自己编译就好了,在c++中Qt的数据库我个人觉得做的还是蛮不错的,容错处理,异常处理,错误定位等等都不错。
那么我们就尝试的编译出自己需要的数据库驱动吧,这里我们编译 oracle 的
一、Qt
下载最新的Qt版本,当时是Qt5.3.1,我下载的是mingw版本的 qt-opensource-windows-x86-mingw482_opengl-5.3.1.exe 安装,可以默认安装,也可以全部勾上安装,看个人喜好!安装好后,我们设置一下环境变量,因为编译时需要用到qmake与mingw32-make,所以我们分别去设置qmake环境变量 path中添加 D:\Qt\Qt5.3.1\5.3\mingw482_32\bin 每个人安装路径不一样,自己照着去找
mingw环境变量 path中添加 D:\Qt\Qt5.3.1\Tools\mingw482_32\bin
配置好后,去cmd下输入qmake -v 与mingw32-make -v 看看版本号 看看输出路径是不是我们想要的,因为很多人电脑上都装了好多版本的Qt,比如我就装了5个版本的Qt,这些小细节看起来微不足道,但是编译时出问题了你还真不知道从哪下手!!切记。
二、oracle
我编译的时候,oracle 10g 官网已经不提供下载了,网上找了一圈,没下成功,那就下个11g的,下个客户端 win32_11gR2_client.zip安装------------------安装时选中 管理员的选项,然后一路 next 需要点时间 或者自动google去看安装教程,我们不作重点
三、Qt 编译oracle
打开Qt5.3.1 的consloe如果是win7 安装在c盘下面,那最好 用管理员的权限打开吧
然后分别执行下面的命令:
set INCLUDE=%include%;G:\app\fei\product\11.2.0\client_1\oci\include;D:\Qt\Qt5.3.1\Tools\mingw482_32\includeset LIB=%lib%;G:\app\fei\product\11.2.0\client_1\oci\lib\msvccd D:\Qt\Qt5.3.1\5.3\Src\qtbase\src\plugins\sqldrivers\ociqmake oci.promingw32-make
D:\Qt\Qt5.3.1\Tools\mingw482_32\include 为你的mingw路径
我编译过程报错,仔细看错,莫名其妙的链接到 VS 下面去了,然后我们去我的环境变量下面去看,发现我以前建了两个 环境变量 include 与 lib 这刚好和上面的冲突了,我把他们改了个名字,等编译完后在改回来,以后破坏别的环境
等了2秒左右就编译完了,感觉太快了,以前编译firebird时好久。
这个时候我们只需要去D:\Qt\Qt5.3.1\5.3\Src\qtbase\plugins\sqldrivers 下面把 libqsqloci.a、libqsqlocid.a、qsqloci.dll、qsqlocid.dll 这四个文件拷贝到D:\Qt\Qt5.3.1\5.3\mingw482_32\plugins\sqldrivers下面,大家可以在这个目录下面看到好多的数据库的驱动
下面我们写个简单程序看看现在Qt有多少个可用的数据库驱动来验证我们的编译是否成功
#include <QCoreApplication>#include <QSqlDatabase>#include <QStringList>#include <QDebug>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QStringList lists = QSqlDatabase::drivers(); for(int i = 0 ;i < lists.size(); ++ i) { qDebug() << lists.at(i); } return a.exec();}
记得在pro中加上 QT += sql
看下结果如何:
大家可以看到 里面已经有了 QOCI ,但是大家发现没有------->>>>> QMYSQL 出现了,原来Qt5 已经默认把QMYSQL加进来了,也就是说现在Qt自带的数据库多了一个mysql了,太棒了
下面附上编译好的oracle 驱动 下载地址:http://download.csdn.net/detail/ac_huang/7584297
- Qt5.3.1 Mingw32 编译oracle 11g 驱动
- Qt5.9.1+mingw32静态编译
- Qt5 oracle数据库驱动编译
- QT5.4 编译oracle 驱动
- Qt5编译oracle驱动教程
- mingw32编译Qt5.6.2动态库
- QT5.6 msvc2015编译oracle驱动
- Qt5编译好的oracle驱动下载
- QT5.7 编译oracle驱动oci centos7
- Win7 Qt5.4.1+VS2013编译Oracle驱动,连接Oracle数据库
- Qt5.7编译oracle数据库驱动(提供下载)
- mingw32编译
- Qt5.3.1编译QOCI链接oracle
- Oracle 10g/11g编译BBED
- oracle 10g、11g编译bbed
- 使用mingw32编译QT下mysql驱动的流程
- QT5.6 编译SQLServer驱动
- Qt5.4编译mysql驱动
- C#跨线程访问
- ratingbar介绍及其例子
- form 只有 有 name 的元素 才会被提交
- 12306火车票订票失败!您的身份信息未经核验,一般人是不能订票的,我订了,但是没成功。。。
- poj 2698:八皇后问题
- Qt5.3.1 Mingw32 编译oracle 11g 驱动
- java4android第四十五集hashcode()与tostring()
- gdb insight 无法连接 jlink gdbserver
- poj 3858: 和数
- 4、Spring_Security_安全权限管理手册
- 文字自动换行 -- Cocos2d-HTML5
- Hadoop Map/Reduce教程
- 如何在ios app 局域网内搜索到设备
- poj 3711: 字符串移位包含问题