QT QOCI驱动编译

这段开始学习QT,发觉QT挺好玩的,QTSQL编程,因为用的是QT开源版,没有现成的Oracle驱动可用,就自己编译一个,在网上搜了下文章,都是QT4.XX的,我比较喜欢新版的,现在QT的最新版本是QT5.4,就打算编译5.4版本的,想着可以很快搞定,其实也比较麻烦,中间出了很多问题,现在写个博客记录下来,以备后用。

我的编译环境是Windows7,用了两个编译环境,一个VS2013,和MinGW4.9.1.

首先说MinGW4.9.1版的,我用的是qt-opensource-windows-x86-mingw491_opengl-5.4.0.exe,Oracle客户端用的是11GR2的win32位(win32_11gR2_client.zip),安装QT的时候全部选择,会自动安装MinGW4.9.1,打开开始目录里面QT安装目录里的命令行工具QT5.4 XX for desktop,执行命令如下:

set INCLUDE=%INCLUDE%;E:\Qt\Qt5.4.0\5.4\mingw491_32\include;D:\app\Administrator\product\11.2.0\client_1\oci\include

set LIB=%LIB%;E:\Qt\Qt5.4.0\5.4\mingw491_32\lib;D:\app\Administrator\product\11.2.0\client_1\oci\lib\msvc

cd E:\Qt\Qt5.4.0\5.4\Src\qtbase\src\plugins\sqldrivers\oci

qmake -o MakeFile oci.pro

mingw32-make


输出如下:

Setting up environment for Qt usage...

E:\Qt\Qt5.4.0\5.4\mingw491_32>set INCLUDE=%INCLUDE%;E:\Qt\Qt5.4.0\5.4\mingw491_3
2\include;D:\app\Administrator\product\11.2.0\client_1\oci\include

E:\Qt\Qt5.4.0\5.4\mingw491_32>set LIB=%LIB%;E:\Qt\Qt5.4.0\5.4\mingw491_32\lib;D:
\app\Administrator\product\11.2.0\client_1\oci\lib\msvc

E:\Qt\Qt5.4.0\5.4\mingw491_32>cd E:\Qt\Qt5.4.0\5.4\Src\qtbase\src\plugins\sqldri
vers\oci

E:\Qt\Qt5.4.0\5.4\Src\qtbase\src\plugins\sqldrivers\oci>qmake -o MakeFile oci.pr
o

E:\Qt\Qt5.4.0\5.4\Src\qtbase\src\plugins\sqldrivers\oci>mingw32-make
mingw32-make -f MakeFile.Release all
mingw32-make[1]: Entering directory 'E:/Qt/Qt5.4.0/5.4/Src/qtbase/src/plugins/sq
ldrivers/oci'
E:\Qt\Qt5.4.0\5.4\mingw491_32\bin\moc.exe -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_N
O_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT
_CORE_LIB -D__GNUC__ -DWIN32 -IE:/Qt/Qt5.4.0/5.4/Src/qtbase/mkspecs/win32-g++ -I
E:/Qt/Qt5.4.0/5.4/Src/qtbase/src/plugins/sqldrivers/oci -IE:/Qt/Qt5.4.0/5.4/ming
w491_32/include/QtCore/5.4.0 -IE:/Qt/Qt5.4.0/5.4/mingw491_32/include/QtCore/5.4.
0/QtCore -IE:/Qt/Qt5.4.0/5.4/mingw491_32/include/QtSql/5.4.0 -IE:/Qt/Qt5.4.0/5.4
/mingw491_32/include/QtSql/5.4.0/QtSql -IE:/Qt/Qt5.4.0/5.4/mingw491_32/include -
IE:/Qt/Qt5.4.0/5.4/mingw491_32/include/QtSql -IE:/Qt/Qt5.4.0/5.4/mingw491_32/inc
lude/QtCore main.cpp -o .moc\release\main.moc
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++0x -fno-exceptions -frtti -W
all -Wextra -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCE
PTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -I"E:\Qt\Qt5.4.0
\5.4\mingw491_32\include\QtCore\5.4.0" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\
QtCore\5.4.0\QtCore" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql\5.4.0" -I"E:
\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql\5.4.0\QtSql" -I"E:\Qt\Qt5.4.0\5.4\ming
w491_32\include" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql" -I"E:\Qt\Qt5.4.
0\5.4\mingw491_32\include\QtCore" -I".moc\release" -I"%INCLUDE%" -I"E:\Qt\Qt5.4.
0\5.4\mingw491_32\include" -I"D:\app\Administrator\product\11.2.0\client_1\oci\i
nclude" -I"..\..\..\..\mkspecs\win32-g++" -o .obj\release\main.o main.cpp
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++0x -fno-exceptions -frtti -W
all -Wextra -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCE
PTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -I"E:\Qt\Qt5.4.0
\5.4\mingw491_32\include\QtCore\5.4.0" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\
QtCore\5.4.0\QtCore" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql\5.4.0" -I"E:
\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql\5.4.0\QtSql" -I"E:\Qt\Qt5.4.0\5.4\ming
w491_32\include" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql" -I"E:\Qt\Qt5.4.
0\5.4\mingw491_32\include\QtCore" -I".moc\release" -I"%INCLUDE%" -I"E:\Qt\Qt5.4.
0\5.4\mingw491_32\include" -I"D:\app\Administrator\product\11.2.0\client_1\oci\i
nclude" -I"..\..\..\..\mkspecs\win32-g++" -o .obj\release\qsql_oci.o ..\..\..\sq
l\drivers\oci\qsql_oci.cpp
E:\Qt\Qt5.4.0\5.4\mingw491_32\bin\moc.exe -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_N
O_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT
_CORE_LIB -D__GNUC__ -DWIN32 -IE:/Qt/Qt5.4.0/5.4/Src/qtbase/mkspecs/win32-g++ -I
E:/Qt/Qt5.4.0/5.4/Src/qtbase/src/plugins/sqldrivers/oci -IE:/Qt/Qt5.4.0/5.4/ming
w491_32/include/QtCore/5.4.0 -IE:/Qt/Qt5.4.0/5.4/mingw491_32/include/QtCore/5.4.
0/QtCore -IE:/Qt/Qt5.4.0/5.4/mingw491_32/include/QtSql/5.4.0 -IE:/Qt/Qt5.4.0/5.4
/mingw491_32/include/QtSql/5.4.0/QtSql -IE:/Qt/Qt5.4.0/5.4/mingw491_32/include -
IE:/Qt/Qt5.4.0/5.4/mingw491_32/include/QtSql -IE:/Qt/Qt5.4.0/5.4/mingw491_32/inc
lude/QtCore ..\..\..\sql\drivers\oci\qsql_oci_p.h -o .moc\release\moc_qsql_oci_p
.cpp
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++0x -fno-exceptions -frtti -W
all -Wextra -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCE
PTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -I"E:\Qt\Qt5.4.0
\5.4\mingw491_32\include\QtCore\5.4.0" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\
QtCore\5.4.0\QtCore" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql\5.4.0" -I"E:
\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql\5.4.0\QtSql" -I"E:\Qt\Qt5.4.0\5.4\ming
w491_32\include" -I"E:\Qt\Qt5.4.0\5.4\mingw491_32\include\QtSql" -I"E:\Qt\Qt5.4.
0\5.4\mingw491_32\include\QtCore" -I".moc\release" -I"%INCLUDE%" -I"E:\Qt\Qt5.4.
0\5.4\mingw491_32\include" -I"D:\app\Administrator\product\11.2.0\client_1\oci\i
nclude" -I"..\..\..\..\mkspecs\win32-g++" -o .obj\release\moc_qsql_oci_p.o .moc\
release\moc_qsql_oci_p.cpp
windres -i qsqloci_resource.rc -o .obj\release\qsqloci_resource_res.o --include-
dir=. -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS
 -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB
g++ -Wl,-s -shared -Wl,-subsystem,windows -Wl,--out-implib,E:\Qt\Qt5.4.0\5.4\Src
\qtbase\plugins\sqldrivers\libqsqloci.a -o ..\..\..\..\plugins\sqldrivers\qsqloc
i.dll .obj/release/main.o .obj/release/qsql_oci.o .obj/release/moc_qsql_oci_p.o
 -L%LIB% -LE:\Qt\Qt5.4.0\5.4\mingw491_32\lib -LD:\app\Administrator\product\11.2
.0\client_1\oci\lib\msvc -loci -LE

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值