2010-11-01 39 views
0

剛剛使用OCI插件編寫了基於應用程序的QT,但我無法部署它。 我沒有以下步驟:如何使用Oracle插件部署基於qt的應用程序

  1. 安裝QT 4.7 SDK

  2. 安裝OCI插件

    組INCLUDE =%INCLUDE%; C:\ ORACLE \ OCI \包括

    組LIB =%LIB%; C:\ ORACLE \ OCI \ lib中\ MSVC

    CD%QTDIR%\ SRC \插件\ sqldrivers \ OCI

    QMAKE -o Makefile文件oci.pro

    NMAKE

  3. 我也跟着: 「在Windows上建立靜態的Qt用MSVC」 編輯\ mkspecs \ win32的-X \ qmake.conf:

    QMAKE_CFLAGS_RELEASE = -O2 -MT

    CONFIG + = QT warn_on釋放增量平坦link_prl precompile_header autogen_precompile_source copy_dir_files debug_and_release debug_and_release_target

  4. 然後在Qt的目錄:

    配置-static - 釋放

    NMAKE子SRC

  5. 我不知道關於接下來的步驟,但在我的應用程序目錄,我跑:

    QMAKE -o Makefile文件myProgram.pro

    NMAKE

我得到釋放的exe文件,但我得到錯誤的OCI驅動程序沒有加載中... 請幫助我, 我在任何一步我做

回答

0

你是不是應該先編譯沒有錯誤的靜態版本的Qt,然後編譯OCI插件?您也可以通過設置相應的配置開關-qt-sql-oci並添加所需的include和lib目錄來一次完成此操作。

因爲在你的場景中,你使用哪個qmake來編譯你的OCI插件?您打算用於您的應用程序的靜態內容尚未生成。所以看起來你的OCI插件是用一個Qt版本構建的,而你的應用程序使用另一個(靜態)Qt版本。這種不匹配很可能是你的問題的原因。

另外,使用靜態插件時,必須使用Q_IMPORT_PLUGIN宏。在這裏看到更多的細節http://doc.qt.io/archives/qt-4.7/plugins-howto.html#static-plugins

按照要求,在這裏一步步指導應該如何工作的:

  1. 抽取您的靜態的Qt版本Qt的來源,讓用C說:\ Qt的\ 4.7 。0-靜態

  2. 以你已經做過的方式改變qmake.conf。

  3. 在你的Visual Studio的命令行,將目錄更改爲C:\ Qt的\ 4.7.0靜電,做到這一點:

    配置-static -release -qt-SQL-OCI -IC:\ ORACLE \ OCI \包括-L C:\ ORACLE \ OCI \ LIB \ MSVC

  4. 做一個NMAKE子SRC

  5. 然後,改變你使用你的應用程序剛剛編譯和一個qt的版本執行「從QtCreator的build菜單運行qmake「和」Rebuild project「(因爲你安裝了Qt SDK,我假設你正在使用它)

  6. 它希望現在可以工作 - 使用-qt-sql-oci開關會導致oci驅動程序的靜態生成。

+0

你能不能描述我應該做的步驟? 對不起,我只是遇到了太多的問題...挖掘片的信息:( – kaycee 2010-11-01 14:05:32

+0

當我嘗試從Visual Studio命令提示符下運行以下命令:配置-static -release -qt-sql-oci -IC:\ oracle \ oci \ include \ c:\ oracle \ oci \ lib \ msvc 我收到以下錯誤: 'configure'未被識別爲內部或外部命令, 可操作程序或批處理文件 – kaycee 2010-11-01 16:02:44

+0

確保您改爲正確的目錄,例如C:\ Qt \ 4.7.0-static \取決於您的設置,就像您在步驟4中描述的那樣。 – 2010-11-01 16:06:00