d:\test\display\display.bid(4) : warning C4005: 'AEECLSID_DISPLAY' : macro redefinition
c:\brew31~1.5\sdk\inc\aeeclassids.h(58) : see previous definition of 'AEECLSID_DISPLAY'
像这样你们怎么解决的?
------最佳解决方案--------------------------------------------------------
int AEEClsCreateInstance(AEECLSID ClsId, IShell *pIShell, IModule *po, void **ppObj);
中的AEECLSID是mif中的clsid,AEECLSID_DISPLAY是IDisplay的clsid,两个是不同的。
------其他解决方案--------------------------------------------------------
AEECLSID_DISPLAY 是你自己定义的应用class id,如果是,显然这个名字不合适,BREW SDK中的bid文件中的class id名字可以认为是保留的宏定义,不能在应用中重复
------其他解决方案--------------------------------------------------------
AEECLSID_DISPLAY
这个是绘制界面用的CLSID SDK里面已经定义过了 你得把你应用的CLSID换个名字
------其他解决方案--------------------------------------------------------
更搞笑的是
int AEEClsCreateInstance(AEECLSID ClsId, IShell *pIShell, IModule *po, void **ppObj)
{
*ppObj = NULL;
if( ClsId == AEECLSID_DISPLAY )
{
// Create the applet and make room for the applet structure
if( AEEApplet_New(sizeof(display),
ClsId,
pIShell,
po,
(IApplet**)ppObj,
(AEEHANDLER)display_HandleEvent,
(PFNFREEAPPDATA)display_FreeAppData) ) // the FreeAppData function is called after sending EVT_APP_STOP to the HandleEvent function
{、、、、、、、、
这里我跟踪了下 ClsId == AEECLSID_DISPLAY 他两个不相等,刚创建的项目 ,日这是啥JJ?