__REQUIRED_RPCNDR_H_ВЕРСИЯ__

#c #visual-c #idl

Вопрос:

Я создаю файл заголовка из IDL . Файл IDL был скомпилирован в Visual C 2005 . Созданный файл заголовка содержит #define REQUIRED_RPCNDR_H_VERSION 475 .

Я попытался использовать этот файл заголовка в Visual Studio 2003 , где rpcndr.h содержит

{

#определите RPCNDR_H_VERSION ( 450 ) // и

#если ( RPCNDR_H_VERSION < ТРЕБУЕМЫЙ _RPCNDR_H_VERSION )

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

}

С 450 года Есть ли какой-либо способ использовать файл заголовка в Visual Studio 2003 . Нужно ли мне вносить изменения в настройки компиляции файла idl .

PS : Я должен скомпилировать файл idl только в Visual C 2005 . ( У меня нет выбора, чтобы скомпилировать его в VS 2003 ) .

Ответ №1:

Если в ваших конфигурациях 2003 и 2005 годов используется одна и та же версия Windows SDK, вам может не повезти (и/или вам просто нужно взломать ее и надеяться, что она сработает). Обычно, однако, вы можете сделать их совместимыми, если они используют одну и ту же версию утилит и заголовков SDK.

У меня нет никакой информации, касающейся этой проблемы, но в прошлом у меня были аналогичные проблемы, которые я решил, указав обе версии VS на одну и ту же более позднюю версию SDK.