SHGetSpecialFolderPath () не объявлен в этой области - PullRequest
0 голосов
/ 12 мая 2011

Я не могу скомпилировать мою программу SHGetSpecialFolderPath (), не объявленную в области действия программы, в то время как включен правильный заголовок (согласно MSDN) http://msdn.microsoft.com/en-us/library/bb762204(v=vs.85).aspx

Вот заголовки для моего проекта:

#include <iostream>
#include <iostream>
#include <windows.h>
#include <algorithm>
#include <vector>
#include <fstream>
#include <direct.h>
#include <shlobj.h>

с ошибкой: C: \ Users \ user \ Documents \ getAppData \ main.cpp | 31 | ошибка: `SHGetSpecialFolderPath 'не было объявлено в этой области

с заголовком shlobj.h с объявлением в нем. Есть идеи, почему компилятор выдает ошибку? Вот как я вызываю функцию:

char appData[MAX_PATH];
SHGetSpecialFolderPath( NULL
                        ,appData
                        ,CSIDL_LOCAL_APPDATA
                        ,1 );
cout << appData << endl;

Спасибо!

1 Ответ

1 голос
/ 12 мая 2011

Со страницы MSDN:

Для того, чтобы эта функция была доступна, должно быть установлено Microsoft Internet Explorer 4.0 Desktop Update.

В Windows 2000 эта функция заменена ShGetFolderPath,Вы можете использовать эту функцию в более ранних системах, добавив распространяемую DLL-библиотеку ShFolder.dll.

Возможно, это ваша проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...