BOOL CDemoApp::InitInstance()
{
CoInitialize(NULL); InitCommonControls();
CWinApp::InitInstance(); // 初始化 OLE 库
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
...
}
编译错误提示:Demo.cpp(63) : error C2065: 'IDP_OLE_INIT_FAILED' : undeclared identifier
Error executing cl.exe.
为什么IDP_OLE_INIT_FAILED是未定义的标识符呢...

解决方案 »

  1.   

    CoInitialize(NULL);
    这句去掉。因为AfxOleInit里面会执行类似CoInitialize(NULL);的功能。
    而且会判断是否已经执行了CoInitialize(NULL);一判断有,就返回0
      

  2.   

    你是不是从6.0升级的如果是的话,再"resource.h "加上#define IDP_OLE_INIT_FAILED          100,这个是2003版的资源头文件。
      

  3.   


    我做的时候没调其他的函数,这样就可以啊
    //初始化OLE DLLs
    if (!AfxOleInit())
    {
    AfxMessageBox("初始化OLE DLLs失败!");
    return FALSE;
    }
      

  4.   

    //初始话代码在向导下有  TheApp:: Initii....()
    //要看代码和版本
      

  5.   

    其实设置一下就好了,不是代码的问题,好像是编译软件的问题,或系统的问题,是VS2005,还是VS2008?
      

  6.   

    遇到相同的问题了,在这个地方被assert住了。。