2008-10-12 8 views
0

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

Я пытался использовать этот заголовочный файл в 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: Мне нужно скомпилировать idl-файл только в Visual C++ 2005. (У меня нет выбора скомпилировать его в VS 2003).

ответ

1

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

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