Ошибка компоновщика SHCreateStreamOnFileEx - PullRequest
0 голосов
/ 04 мая 2010

Я получаю ошибку компоновщика при работе с 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

1 Ответ

1 голос
/ 04 мая 2010

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

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

#pragma comment(lib, "Shlwapi.lib");
...