一级女人毛片人一女人-一级女性大黄生活片免费-一级女性全黄久久生活片-一级女性全黄生活片免费-国产美女在线一区二区三区-国产美女在线观看

始創于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.laynepeng.cn】

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

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

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