#include \ /* Basic data type */ #include \#include \#include \
#include \在#include \上加 #include \#include \#include \#include \
#include \
43 .Q:25-08B和35-08B编译时报链接错误
Warning: L6340W: options first and last are ignored for link type of -scattered
Warning: L6304W: Duplicate input file mtk_lib\\MT6235B\\S01\\gprs\\GEMINI\\FALSE\\dsp_ram.lib ignored.
Error: L6218E: Undefined symbol soc_close_nwk_account_by_id (referred from DMG_Client.obj).
Error: L6218E: Undefined symbol MMI_menu_shortcut_number (referred from DMGUPI_GuiScreen.obj).
Error: L6218E: Undefined symbol MMI_disable_title_shortcut_display (referred from DMGUPI_GuiScreen.obj).
Error: L6218E: Undefined symbol wgui_status_icon_hide_status_icons (referred from DMGUPI_GuiScreen.obj).
Error: L6218E: Undefined symbol wgui_status_icon_show_status_icons (referred from DMGUPI_GuiScreen.obj).
Error: L6218E: Undefined symbol AlmEnableSPOF_Ext (referred from DMGUPI_Sms.obj). Error: L6218E: Undefined symbol DMGGet_MOD_L4C2 (referred from DMGUPI_SysMsiMei.obj).
Error: L6218E: Undefined symbol referred from DMGUPI_Graph.obj).
Error: L6218E: Undefined symbol pfnUnicodeStrlen (pfnUnicodeStrcpy (referred from DMGUPI_String.obj).
Error: L6218E: Undefined symbol pfnUnicodeStrncpy (referred from DMGUPI_String.obj). Error: L6218E: Undefined symbol pfnUnicodeStrcmp (referred from DMGUPI_String.obj). Error: L6218E: Undefined symbol pfnUnicodeStrncmp (referred from DMGUPI_String.obj). Error: L6218E: Undefined symbol pfnUnicodeStrcat (referred from DMGUPI_String.obj). Error: L6218E: Undefined symbol pfnUnicodeStrncat (referred from DMGUPI_String.obj). Error: L6218E: Undefined symbol CY_SCREEN (referred from thoughtreadmodule.obj). Error: L6218E: Undefined symbol CX_SCREEN (referred from thoughtreadmodule.obj).
Error: L6218E: Undefined symbol TR_LOGO_TOP (referred from thoughtreadwndenterapp.obj). Not enough information to produce a SYMDEFs file. Not enough information to list image symbols. Not enough information to list the image map.
Not enough information to list the image sizes and/or totals. Finished: 4 information, 2
11
A:解决办法如下:
在dmg_Client.c最后面按照报错信息所缺函数定义,选择所需要添加的函数定义 S32 MMI_menu_shortcut_number;
U8 MMI_disable_title_shortcut_display;
S32 pfnUnicodeStrlen(const S8 *arrOut) {
return mmi_ucs2strlen(arrOut); }
PS8 pfnUnicodeStrcpy(S8 *strDestination, const S8 *strSource) {
return mmi_ucs2cpy(strDestination, strSource); }
PS8 pfnUnicodeStrncpy(S8 *strDestination, const S8 *strSource, U32 size) {
return mmi_ucs2ncpy(strDestination, strSource, size); }
S32 pfnUnicodeStrcmp(const S8 *string1, const S8 *string2) {
return mmi_ucs2cmp(string1, string2); }
S32 pfnUnicodeStrncmp(const S8 *string1, const S8 *string2, U32 size) {
return mmi_ucs2ncmp(string1, string2, size); }
PS8 pfnUnicodeStrcat(S8 *strDestination, const S8 *strSource) {
return mmi_ucs2cat(strDestination, strSource); }
PS8 pfnUnicodeStrncat(S8 *strDestination, const S8 *strSource, U32 size) {
return mmi_ucs2ncat(strDestination, strSource, size); }
U16 AnsiiToUnicodeString(S8 *pOutBuffer, S8 *pInBuffer) {
return mmi_asc_to_ucs2(pOutBuffer, pInBuffer);
12
}
U16 AnsiiNToUnicodeString(S8 *pOutBuffer, S8 *pInBuffer, U32 len) {
return mmi_asc_n_to_ucs2(pOutBuffer, pInBuffer, len); }
U16 UnicodeToAnsii(S8 *pOutBuffer, S8 *pInBuffer) {
return mmi_ucs2_to_asc(pOutBuffer, pInBuffer); }
U16 UnicodeNToAnsii(S8 *pOutBuffer, S8 *pInBuffer, U32 len) {
return mmi_ucs2_n_to_asc(pOutBuffer, pInBuffer, len); }
44.Q:游戏移植完成后,发送短信失败
A: 需要修改短信接口 解决方法如下: 进入dmg_client.c
Ctrol +f 查找 flag 查找到下面函数为止 #ifdef MMI_ON_HARDWARE_P
int DmgSendEx( int Flag, char *pGBKNumber, UINT8* pUcsContent, void (*fpCallback)( void*, module_type, U16 ) ) { return 0; }
将其改为
#ifdef MMI_ON_HARDWARE_P /*
int DmgSendEx( int Flag, char *pGBKNumber, UINT8* pUcsContent, void (*fpCallback)( void*, module_type, U16 ) ) { return 0; } */
然后在#ifdef MMI_ON_HARDWARE_P下面添加我们的代码 #ifdef MMI_ON_HARDWARE_P /* 包含必要的头文件 */ #define INPUT_TYPE_ALPHANUMERIC_SENTENCECASE IMM_INPUT_TYPE_SENTENCE(根据报错信息适时添加)
#define __NEWSIMULATOR
#include \ #include \
13
#include \ #include \
//... Add More MMI header #include \ #include \ #include \ #include \ #include \
#include \ #include \ #include \ #include \ #include \ #include \ #include \
//...Add MSG header
#include \ #include \ #include \
#include \ #include \ #include \
#include \ #include \ #include \
#include \ #ifdef __MMI_MESSAGES_CHAT__ #include \
#include \ #endif //
#include \ #include \ #include \ #include \ //
#include \
//#include \ #include \ #include \ //
#include \ #include \
14
#include \ #include \ #include \
//#include \ #include \ #include \ #include \ #include \#undef __NEWSIMULATOR
#include \ #include \ #include \
#include \
// 参数说明:
// Flag 0:正常短信 1:没有发送界面的短信 // pGBKNumber: 短信号码
// pUcsContent: UNICODE编码格式的发送内容 // fpCallback: 短信回调函数
// 返回值: 1 表示已经处理短信发送, 0表示没有处理短信发送
int DmgSendEx( int Flag, char *pGBKNumber, UINT8* pUcsContent, void (*fpCallback)( void*, module_type, U16 ) ) {
mmi_frm_sms_send_struct sendData; EMSData *pEMS;
if ( mmi_frm_sms_check_action_pending() ) return 1;
memset( (S8*)&sendData, 0, sizeof(mmi_frm_sms_send_struct) ); memset( sendData.number, 0, MAX_DIGITS_SMS );
memcpy( (S8*)sendData.number, (S8*)pGBKNumber, MAX_DIGITS_SMS ); extern EMSData *GetEMSDataForEdit(EMSData **p, U8 force); // pEMS = GetEMSDataForEdit ( 0, 1 ); GetEMSDataForEdit (& pEMS, 0 );
if(Flag == 0) {
if ( strlen(pGBKNumber) > 0 )
{ //IMM_INPUT_TYPE_SENTENCE 25-0828时替换 AppendEMSString( INPUT_TYPE_ALPHANUMERIC_SENTENCECASE,
pEMS, (U8*)pUcsContent, SMSAL_UCS2_DCS, NULL ); #ifdef MMI_ON_HARDWARE_P
mmi_frm_sms_send_sms( fpCallback, DMGGet_MOD_MMI(), &sendData );
15