1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        Mac系統下Qt 4.8編譯連接數據庫(Oracle,MySql)

        發布時間:  2012/9/3 17:03:31

        在Mac下成功編譯了MySql和Oracle的數據庫插件驅動,但遺憾的是在程序中無論如何也加載不了這兩個驅動,也無法連接數據庫。在環境變量中設置QT_DEBUG_PLUGINS=1, 再啟動程序后Qt會報告一些加載插件的調試信息,從中可以看出是插件不兼容引起的,也就是文檔中所說的Build Key的問題,在文檔中有提到可能需要清除插件緩存(Plugin cache),應該是在一個QSettings定義的文件中,但我沒找到。無奈下將QtSDK刪除重新安裝一遍,又從頭開始,最后終于成功。下面記錄詳細的過程,供日后參考。-
         


        1. 首先安裝QtSDK 1.2, 安裝在 ~/QtSDK目錄下,安裝的時候要選擇安裝4.8.0的源代碼,否則后面無法編譯plugin;

        2. 下載MySql和Oracle的數據庫連接的動態庫;可從官網下載,注意選擇與你的系統合適的版本,我這里是Max OSX 10.7.3 64bit;MySql下載的是mysql-connector-c-6.0.2-osx10.5-x86-64bit.tar.gz, oracle下需要的是instantclient basic包和instantclient SDK包。

        3. 將下載的數據庫文檔解壓縮到本地目錄下,記錄下文件目錄;MySql解壓在~/bin/mysql目錄下,下面會有include和lib子目錄;Oracle的兩個包解壓到~/bin/oracle目錄下,目錄下有庫文件和sdk目錄;

        4.準備工作完了后,開始編譯生成Qt庫;首先執行命令(后面3行是一個命令,因太長了分行顯示)

        cd ~/QtSDK/QtSources/4.8.0  
        ./configure -opensource -prefix /Users/lutx/QtSDK/Desktop/Qt/4.8.0/gcc -plugin-sql-mysql -plugin-sql-oci  
         -plugin-sql-odbc -plugin-sql-sqllite -I/Users/lutx/bin/mysql/include -I/Users/lutx/bin/Oracle/sdk/include  
         -L/Users/lutx/bin/mysql/lib -L/Users/lutx/bin/Oracle
        上面的命令中,prefix是定義編譯后的安裝目錄,默認是安裝到/usr/local/Trolltech/Qt-4.8.0目錄下,我這里給定義安裝到 QtSDK的目錄下,這樣可以避免后面在QtCreator中配置版本,或者利用install_name_tools來修改動態庫名稱等操作。經過一段 時間(幾分鐘)等待后,生成了整個源目錄下的makefile文件。系統應該顯示

        Qt is now configured for building. Just run 'make'.  
        Once everything is built, you must run 'make install'.  
        Qt will be installed into /Users/[xxxx]/QtSDK/Desktop/Qt/4.8.0/gcc  
          
        To reconfigure, run 'make confclean' and 'configure'. 
        上面的[xxxx]應該是你的系統登錄用戶名,下同。

        5.下面開始編譯過程,應該很簡單,直接在剛才的目錄下繼續執行make命令即可,www.linuxidc.com 但是我這里在編譯到QtWebkit這個庫的時候會有錯誤,因此后面將跳過這個庫繼續編譯后面的庫。出現的錯誤是:

        fileapi/FileReaderLoader.cpp: In member function ‘void WebCore::FileReaderLoader::convertToDataURL()’:  
        fileapi/FileReaderLoader.cpp:307: error: ‘base64Encode’ was not declared in this scope  
        make[3]: *** [.obj/debug-static/FileReaderLoader.o] Error 1  
        make[2]: *** [debug-all] Error 2  
        make[1]: *** [sub-WebCore-make_default-ordered] Error 2 
        這里也不知道是么原因,沒搞明白。

        5.通過Makefile文件知道,在Webkit后面還有scripttools,plugins(這個是主要目的), 后面用命令逐個編譯每個庫。

        cd src/scripttools;make;cd ../plugins;make;cd ../imports;make;cd ../tools;make;cd ../translations;make;cd ../..  
        make install 
        因為不是必需的,最后沒有編譯examples和demos兩個目錄。

        如此編譯已經成功,另外在程序運行時需要將mysql的lib目錄和Oracle的lib目錄加到環境變量DYLD_LIBRARY_PATH中,否則還是無法加載數據庫插件驅動。


         


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线