Ошибка компоновщика SHCreateStreamOnFileEx

Я получаю сообщение об ошибке компоновщика при работе с SHCreateStreamOnFileEx. Пожалуйста, помогите мне узнать проблему.

IStream* replace::GetStream()
{ 
LPCWSTR pszFile=L"D:\\Test\\output.txt";
IStream* dataStream = NULL;
if (dataStream == NULL)
 {
    SHCreateStreamOnFileEx(pszFile, 
        STGM_READ|STGM_SHARE_DENY_NONE|STGM_DELETEONRELEASE,
        FILE_ATTRIBUTE_NORMAL, 
        FALSE, 
        NULL, 
        &dataStream);
 }
return dataStream;
}

Ошибка: ошибка LNK2019: неразрешенный внешний символ __imp__SHCreateStreamOnFileEx@24, указанный в функции «public: void __thiscall replace::GetStream(void)» (?GetStream@replace@@QAEXXZ) replace.obj replace


person Sijith    schedule 04.05.2010    source источник


Ответы (1)


Добавление соответствующего файла LIB в настройки вашего проекта должно помочь. Откройте проект настройки -> компоновщик -> ввод -> дополнительные зависимости и добавьте Shlwapi.lib в список.

В качестве альтернативы вы также можете поместить следующую директиву в свой файл cpp:

#pragma comment(lib, "Shlwapi.lib");
person Frank Bollack    schedule 04.05.2010