Qt for symbian工程文件的一些特异写法

symbian本身的工程文件不具有cross-platform特性,都是一些自己唯一的定义文件,像:*.mmp,*.pkg文件。而Qt得工程文件为*.pro。如何实现*.pro到*.mmp ,*.pkg文件的映射则值得总结。

 

1:添加库

对于添加库,无论是静态还是动态库,都需做两步:先是声名一下,其后是拷贝。二者仅仅是声名的方式不一样。
 
1:声名:
 
(1)动态库
symbian:LIBS +=
MMP_RULES += "LIBRARY           fbscli.lib"
 
(这里我加的是名为fbscli的动态库)
 
(2)静态库
symbian {
LIBS          +=     -lIsolated.lib /
}
 
(这里我加的是名为Isolated的静态库)
 
//-------------------------------------------------------------------------------------------------------------------------
 
2:拷贝
 拷贝分两部分:一部分是针对编译进行的拷贝,一部分则是针对真机的拷贝。 编译器在编译时:需要找到lib文件,而其查找的路径是epoc32/release下的子文件夹。  当然了:你要在模拟器上跑,还需要再拷贝到模拟器对应的文件夹下。


symbian {
BLD_INF_RULES.prj_exports += /                                                                                                                             
"./bin/HWR/Winscw/NRC.dll                                 /epoc32/release/winscw/udeb/NRC.dll" / 
"./bin/HWR/Winscw/NRC.lib                                 /epoc32/release/winscw/udeb/NRC.lib" / 
"./bin/HWR/Armv5/NRC.dll                                      /epoc32/release/Armv5/urel/NRC.dll" /          
"./bin/HWR/Armv5/NRC.lib                                      /epoc32/release/Armv5/lib/NRC.lib" /       
}
 
winscw文件夹对应emulator , ArmV5对应真机。

 

//pkg文件,该文件在symbian中是用于打包的文件。在这里作用就是:拷贝对应文件到真机上。

//注意:里边的OCRDll这个名称是可以随便指定的,只要最后使用DEPLOYMENT += 将其加进去就可以。

 

symbian: {        
     OCRDll.sources =./bin/HWR/Armv5/MMI_BluetoothEngine.dll
     OCRDll.path = /sys/bin
     DEPLOYMENT += OCRDll
}
 

//-------------------------------------------------------------------------------------------------------------------------

 

2:区分真机和模拟器。

   对于一些代码部分,例如:通讯功能,摄像头模块等。其实无法运行在模拟器上的,只能运行在真机上。所以有时候:对于一些这样的代码模块,我们最好用Macro宏来将其包起来,只在编译真机版本时:才编译这部分;而在编译模拟器版本时:却不编译这部分。对于这个宏,我们需要在pro文件中声明。(亦即:声明一个只针对真机的宏)。

 

 symbian {

MMP_RULES += $$LITERAL_HASH"ifdef MARM_ARMV5"
MMP_RULES += "MACRO  REAL_PHONE"    
MMP_RULES += $$LITERAL_HASH"endif"
}

 

(这里假设该宏名为REAL_PHONE )

 

//-------------------------------------------------------------------------------------------------------------------------

 

   补充:当然还有很多特异的写法,大家可以查看我上传资源中的Qt for symbian这个资源(http://download.csdn.net/source/2447574)。这是官方给的一个指导性文件,除去上边这些外,别的里边介绍的也比较详细。

  

    上边这两个我都实际使用过,没有问题。测试环境:Qt 4.5.0 Qt 4.6.2 Qt 4.6.3   真机: N97 5800

你可能感兴趣的:(qt,library,Symbian,Deployment,编译器,通讯)