一个从VC6转到VC2008的工程,在VC6中编译正常,但转到2008后,类似IWebBrowser2Ptr一类的_com_ptr_t编译时总是提示"undeclared identifier",我加了头文件
#include <comdef.h>
#include <comdefsp.h>
#include <comip.h>
还是没用,最后只能自己手动添加下边的宏,才编译通过
_COM_SMARTPTR_TYPEDEF(IWebBrowser2, __uuidof(IWebBrowser2));请问这是为什么?有什么更简捷的解决问题的办法吗?如果我用了多个com_ptr,每个接口都声明一下的话也够烦的了

解决方案 »

  1.   

    IWebBrowser2Ptr可以用
    #import <shdocvw.dll>
      

  2.   

    感觉回复,有没有其它的类似#include某个头文件之类的方法呢?因为接口可能不仅来自shdocvw
      

  3.   

    试试 import 这个库:
    comsuppw.lib or comsuppwd.lib
      

  4.   

    我刚用上VS2008感觉跟VS2003相比功能增多了但有些细节的地方没有2003好,比如代码编辑窗口的UNDO功能会导致插入符不见了让人不知道到底UNDO了哪里,还有就是反应慢了很多没有2003快捷,智能提示经常有问题,有时候连SDK API的参数声明都会缺失,MFC中某些类例如CDocument的定义就是去不了,太大太复杂安装的时候将大量不需要的东西都装进来还不让人选择,有点失望!