Сегодня я должен был определить макрос препроцессора WIN32_MEAN_AND_LEAN
в собственном проекте C++, потому что я решил использовать в нем boost::asio
, и без этого макроса я получаю ошибки сборки.Безопасно ли удалить вызов OleInitialize из статической библиотеки COM?
Вещь, ошибка, которую я получаю сейчас, это OleInitialize: identifier not found
. Согласно MSDN, эта функция используется для инициализации библиотеки COM. Мой проект теперь не является библиотекой COM, но мои партнеры говорят, что это было раньше.
В этом случае было бы безопасно удалить звонок? В проекте используется сочетание функций последовательного порта Win32 и boost :: asio (постепенно я оставляю только boost :: asio). Меня беспокоит то, что OleInitialize может потребоваться для некоторых вызовов Win32.
Это все это делается с ним:
HRESULT hOle = OleInitialize(0);
if(!SUCCEEDED(hOle))
throw "Could not initialize OLE";
Простейшим решением является копирование/вставка прототипов из MSDN в ваш собственный заголовок и продолжение функций. –