2009-02-02 147 views
0

我有一个在VS 2005中正确构建的dll。该dll包含“afxdisp.h”头文件,该文件位于默认位置(C:\ Program Files \ Microsoft Visual Studio 8 \ VC \ atlmfc \ include)中。在Visual Studio 2008中的axxdsp.h

//一段代码

IFNDEF _AFX_NO_OLE_SUPPORT

的#include “AFXDISP.H”

ENDIF

//结束

相同的DLL中不可视楼宇Studio 2008。它给出了很多编译时错误,说很多变量没有被定义。

在Visual Studio 2008中是否还有其他一些等效的afxdisp.h。 PS:我使用在afxdisp.h(VS 2005)中定义的类COleVariant。

+0

我在%ProgramFiles%\ Microsoft Visual Studio 9.0 \ VC \ atlmfc \ include中有这样的文件。 – Ismael 2009-02-02 15:14:30

回答

0

该文件仍然存在于Visual Studio 2008中。请检查以确保包含路径是正确的。确保它们指向您的Visual Studio 2008目录。也许如果您在项目中包含前几个错误/警告,我可以进一步帮助您。

1

我的猜测是你的一个VS安装使用某个版本的Windows Platform SDK(http://msdn.microsoft.com/en-us/windows/bb980924.aspx),它附带了自己的ATL版本(ATL 7),并且你的代码要么依赖于它,要么依赖于旧版本ATL 3.

比较两个VS安装偏好中的标准包含路径(即不是项目特定的包含路径)。