#c #com #syntax-error #idl #wchar
#c #com #синтаксическая ошибка #idl #wchar
Вопрос:
Я создал новый проект C (ATL) в моей Visual Studio и приступил к созданию хорошей маленькой библиотеки DLL COM-сервера. Конечно, существует файл IDL, который определяет внешний интерфейс для использования миром. Поскольку я использую другую библиотеку в этом проекте, мне необходимо использовать тип wchar_t. Но когда я помещаю:
импортируйте "wchar.h";
в верхней части моего файла .idl начинается настоящий ад. Хорошо, я преувеличиваю. Появляется небольшая ошибка:
ошибка MIDL2025: синтаксическая ошибка: ожидание; рядом с "{" d:programstoolsdotnetMicrosoft Visual Studio 10.0VC includewchar.h 994
Поскольку это ошибка с файлом системного заголовка, я понятия не имею, как исправить эту проблему. Есть идеи?
Комментарии:
1. Не могу сделать. импортируйте
<wtypes.idl>
и используйте WCHAR, LPWSTR и LPCWSTR. Настоятельно рекомендую BSTR для автоматизации.2. Я надеялся просто отобразить структуры из заголовка библиотеки.
3. Да, это то, что такое WCHAR. Я рекомендую вам действительно попробовать это.
4. Спасибо, это обошло проблему стороной. Есть ли способ включить файл заголовка (.h) в idl и оставаться в норме? Я решил проблему с неопределенным size_t, определив его вручную, и теперь у меня возникают проблемы с типами void * (поскольку MIDL не поддерживает void в качестве базового типа).