一、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\include
- set LIB=%lib%;G:\app\fei\product\11.2.0\client_1\oci\lib\msvc
- cd D:\Qt\Qt5.3.1\5.3\Src\qtbase\src\plugins\sqldrivers\oci
- qmake oci.pro
- mingw32-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了,太棒了