自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Qt For Symbian資源和DLL的拷貝

移動開發(fā)
對于純symbian程序,這些都是寫在mmp和pkg文件中的,但是在symbian中:我們需要將其全部書寫在pro工程文件中,而后qmake時其會自動將pro轉(zhuǎn)為mmp和pkg。對于pro文件,請看本章內(nèi)容。

當(dāng)一個程序需要加載使用很多資源時:我們需要將這些資源都拷貝到真機中。比如:我們要播放幾個聲音文件,需要將聲音文件給拷貝到真機中。類似的:程序可能還需要很多dll。這些dll又分兩種:一種是已經(jīng)做好的,一種是我們項目中生成的(亦即:我們工程分很多模塊,最終生成了若干個dll和最終的exe)。對于前者:我們只要做一個拷貝即可,而對于后者:則需要生成后拷貝.

對于純symbian程序,這些都是寫在mmp和pkg文件中的,但是在symbian中:我們需要將其全部書寫在pro工程文件中,而后qmake時其會自動將pro轉(zhuǎn)為mmp和pkg。所以關(guān)鍵是:如何書寫pro文件,以前也寫過一篇博文說明這個,但是那時寫的不太詳細(xì),這里詳細(xì)說明一下。

1、對于模擬器版本

首先:編譯模擬器版本,我們也是需要把資源和dll都拷貝到模擬器環(huán)境目錄中的。

(1)對于資源:

  1. view plaincopy to clipboardprint?  
  2. symbian {     
  3. BLD_INF_RULES.prj_exports += \      
  4. ".\voice\123.wav                                               \epoc32\winscw\c\resource\apps\qtqt\123.wav" \       
  5. ".\voice\456.wa                                                         \epoc32\winscw\c\resource\apps\qtqt\456.wav" \     
  6. symbian {  
  7. BLD_INF_RULES.prj_exports += \   
  8. ".\voice\123.wav                                               \epoc32\winscw\c\resource\apps\qtqt\123.wav" \    
  9. ".\voice\456.wa                                                         \epoc32\winscw\c\resource\apps\qtqt\456.wav" \   

如上:只要前邊替換為工程中資源的實際所在路徑,后邊寫\epoc32\winscw\c\resource\。。。自己的實際路徑即可。

這樣:我們便可將資源拷貝到模擬器環(huán)境中,模擬器便可以使用這些資源,不至于啟動不起來了~

(2)對于dll庫:

首先需要聲明一下,其次是拷貝。聲明還是很有意思的,因為在win32環(huán)境下和symbian環(huán)境下其聲明方式是不一樣的,對于動態(tài)庫:

  1.    view plaincopy to clipboardprint?  
  2. win32 {     
  3. LIBS += -L BaseClass.lib     
  4. }     
  5. symbian:LIBS +=      
  6. MMP_RULES += "LIBRARY           BaseClass.lib"    
  7. win32 {  
  8. LIBS += -L BaseClass.lib  
  9. }  
  10. symbian:LIBS +=   
  11. MMP_RULES += "LIBRARY           BaseClass.lib"  

此后便是簡單的拷貝,拷貝方式和資源拷貝沒什么區(qū)別。注意的是:如果您的dll都是工程編譯過程中生成的,那就不需要拷貝了。

2、對于真機版本:

也是分資源拷貝和dll拷貝。拷貝方式和上述不同。

(1)對于資源文件的拷貝:

  1. view plaincopy to clipboardprint?  
  2. symbian: {       
  3.     LANGUAGEFILE.pkg_postrules = "\".\language\language.dat\"-\"!:\resource\apps\qtqt\language.dat \" "                              
  4.     DEPLOYMENT += LANGUAGEFILE      
  5. }    
  6. symbian: {    
  7.  LANGUAGEFILE.pkg_postrules = "\".\language\language.dat\"-\"!:\resource\apps\qtqt\language.dat \" "                           
  8.     DEPLOYMENT += LANGUAGEFILE   
  9. }  

(2)對于dll動態(tài)庫的拷貝:

  1. view plaincopy to clipboardprint?  
  2. symbian: {               
  3.     QTLOGDLL.sources =  \epoc32\release\gcce\urel\QtLog.dll                        
  4.     QTLOGDLL.path = \sys\bin     
  5.     DEPLOYMENT += QTLOGDLL     
  6. }    
  7. symbian: {            
  8.     QTLOGDLL.sources =  \epoc32\release\gcce\urel\QtLog.dll                     
  9.     QTLOGDLL.path = \sys\bin  
  10.     DEPLOYMENT += QTLOGDLL  
  11. }  

如果你用的arm編譯器,把上邊的gcce修改一下.這里邊DEPLOYMENT 這個宏可以隨便書寫的,你也可以依據(jù)dll的不同分組定義多段這樣的拷貝代碼,方便結(jié)構(gòu)清晰。同時:dll的聲明也是需要的喔~

容易出錯的地方:拷貝文件的時候:前后名字一定要一樣,別筆誤寫錯了。同樣:拷貝多個文件時,若其名字差不多,可千萬別寫錯了,不然后期檢查起來可痛苦了。

這里只給出了gcce的拷貝,如果你想一個pro中同時可以編譯gcce和arm版本,而又不想每次都來手動修改pro,那就對應(yīng)著寫兩段,而后用不同編譯器的宏區(qū)分一下就成了。

小結(jié):關(guān)于Qt For Symbian資源和DLL的拷貝的內(nèi)容后介紹完了,希望本文對你有所幫助。另外給大家推薦一篇文章:

http://wiki.forum.nokia.com/index.php/Qmake%E7%9A%84%E4%BD%BF%E7%94%A8%E6%BC%94%E7%A4%BA 這是地址。

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-28 13:12:07

Qt 調(diào)用 DLL DLL

2011-06-08 13:45:44

Symbian Qt

2011-06-24 09:01:20

Qt QLibrary dll

2011-06-16 16:21:06

Qt Symbian FAQ

2010-07-22 09:25:21

Symbian開發(fā)

2011-06-27 15:22:01

Nokia Qt SDK

2011-06-16 14:28:08

Qt Symbian 文件

2011-06-16 14:55:04

2011-06-16 15:59:40

Qt Symbian

2011-06-16 15:17:16

2011-04-02 09:17:38

2010-10-22 10:02:14

諾基亞Qt開發(fā)者

2010-07-12 09:43:38

Symbian開發(fā)

2011-05-03 09:14:45

QtOvi商店Symbian

2011-06-15 17:08:31

Qt Symbian 切換

2010-05-23 11:13:53

Widget開發(fā)

2011-06-28 14:27:38

Qt Qt For Sym

2011-06-16 08:46:17

Qt Symbian 手機

2011-06-16 15:36:56

Qt Quick Symbian

2011-06-30 09:46:01

QT 顯示視頻 linux
點贊
收藏

51CTO技術(shù)棧公眾號