我无法编译我的程序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;
谢谢!
答案 0 :(得分:1)
从MSDN页面:
Microsoft Internet Explorer 4.0 必须安装桌面更新 这个功能可用。
使用Windows 2000,此功能是 被ShGetFolderPath取代。您可以 在早期系统上使用此功能 通过包含可再发行的DLL, Shfolder.dll中。
也许这是你的问题?