0

我从 IDL 创建一个头文件。IDL 文件已在 Visual C++ 2005 中编译。生成的头文件包含 #define REQUIRED_RPCNDR_H_VERSION 475 。

我试图在 Visual Studio 2003 中使用这个头文件,其中 rpcndr.h 包含

{

#define RPCNDR_H_VERSION ( 450 ) // 和

#if ( RPCNDR_H_VERSION < REQUIRED_RPCNDR_H_VERSION )

    #error incorrect <rpcndr.h> version. Use the header that matches with the MIDL compiler.
#endif 

}

由于 450<475 ,我得到一个编译时错误。有什么办法可以在 Visual Studio 2003 中使用头文件。我需要更改 idl 文件的编译设置吗?

PS:我只需要在 Visual C++ 2005 中编译 idl 文件。(我没有选择在 VS 2003 中编译它)。

4

1 回答 1

1

如果您的 2003 和 2005 配置使用相同版本的 Windows SDK,那么您可能不走运(和/或只需要破解它并希望它能正常工作)。但是,通常,如果它们使用相同版本的 SDK 实用程序和标头,您可以使它们兼容。

我没有任何特定于这个问题的信息,但我过去也遇到过类似的问题,我通过将两个版本的 VS 指向相同的更高版本的 SDK 来解决。

于 2008-10-12T17:38:40.017 回答