标题:Qt5.5.1有编译成功OCI(oracle)驱动的吗?
作者:pfeng
日期:2016-05-18 11:33
内容:
以前用的Qt5.3.1,编译OCI很顺利,为了尝鲜,换到Qt5.5.1了,现在编译OCI驱动总是不成功,晕死。。。
C:/Qt/Qt5.5.1/Tools/mingw492_32/bin/mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory 'C:/Qt/Qt5.5.1/5.5/Src/qtbase/src/plugins/sqldrivers/build-oci-Desktop_Qt_5_5_1_MinGW_32bit-Release'
C:\Qt\Qt5.5.1\5.5\mingw492_32\bin\moc.exe -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 -D__GNUC__ -DWIN32 -IC:/Qt/Qt5.5.1/5.5/Src/qtbase/mkspecs/win32-g++ -IC:/Qt/Qt5.5.1/5.5/Src/qtbase/src/plugins/sqldrivers/oci -IC:/Utils/icu32_54_1_mingw492/include -IC:/openssl/include -IC:/utils/postgresql/pgsql/include -ID:/oracle/product/10.2.0/db_1/OCI/include -IC:/Qt/Qt5.5.1/5.5/mingw492_32/include/QtCore/5.5.1 -IC:/Qt/Qt5.5.1/5.5/mingw492_32/include/QtCore/5.5.1/QtCore -IC:/Qt/Qt5.5.1/5.5/mingw492_32/include/QtSql/5.5.1 -IC:/Qt/Qt5.5.1/5.5/mingw492_32/include/QtSql/5.5.1/QtSql -IC:/Qt/Qt5.5.1/5.5/mingw492_32/include -IC:/Qt/Qt5.5.1/5.5/mingw492_32/include/QtSql -IC:/Qt/Qt5.5.1/5.5/mingw492_32/include/QtCore -I. ..\oci\main.cpp -o .moc\release\main.moc
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++0x -fno-exceptions -frtti -Wall -Wextra -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 -I..\oci -I. -IC:/Utils/icu32_54_1_mingw492/include -IC:/openssl/include -IC:/utils/postgresql/pgsql/include -ID:\oracle\product\10.2.0\db_1\OCI\include -IC:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore\5.5.1 -IC:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore\5.5.1\QtCore -IC:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtSql\5.5.1 -IC:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtSql\5.5.1\QtSql -IC:\Qt\Qt5.5.1\5.5\mingw492_32\include -IC:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtSql -IC:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore -I.moc\release -I..\..\..\..\mkspecs\win32-g++-o .obj\release\main.o ..\oci\main.cpp
g++ -c -pipe -fno- ..
#1 [XChinux 05-18 13:48]
其实通过ODBC也可以连接Oracle,这样就不用编译QOCI了。看我下面这篇文章:
Qt使用Oracle ODBC Driver连接
http://xchinux.blog.163.com/blog/static/2316926920135410450576
#2 [XChinux 05-18 13:56]
里面关于设置环境变量那个,可以在代码中进行设置的,当然,要在你创建Qt Oracle ODBC连接之前,比如:
QString strNLS_LANAG("SIMPLIFIED CHINESE_CHINA.AL32UTF8");
QString strTNS_ADMIN("D:\\oracle_odbc");
::SetEnvironmentVariable(L"NLS_LANG",
strNLS_LANG.toStdWString().c_str());
::SetEnvironmentVariable(L"TNS_ADMIN",
strTNS_ADMIN.toStdWString().c_str());
#3 [375490321 06-11 22:19]
楼主我出现的问题跟你一模一样的,求解当时怎么解决的呢?