Я пишу настольное приложение C++ для Windows 7 и более поздних версий.
Я хочу получить путь к папке AppData/Roaming, поэтому использую SHGetKnownFolderPath:
#include "stdafx.h"
#include <windows.h>
#include <ShlObj.h>
void hello()
{
LPWSTR roamingPath;
SHGetKnownFolderPath(FOLDERID_RoamingAppData, 0, NULL, &roamingPath);
ПРОБЛЕМА: сборка завершается ошибкой с identifier "SHGetKnownFolderPath" is undefined
, что странно, поскольку я думаю, что включил правильные заголовки.
Примечания:
- Visual Studio 2015 сообщает, что у меня есть параметры компиляции
/Yu"stdafx.h" /GS /analyze- /W3 /Zc:wchar_t /ZI /Gm /Od /Fd"Debug\vc140.pdb" /Zc:inline /fp:precise /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "_USRDLL" /D "_WINDLL" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /Oy- /MDd /Fa"Debug\" /EHsc /nologo /Fo"Debug\" /Fp"Debug\OverlayIcon.pch"
. - Отличается от Ошибка: идентификатор: SHGetKnownFolderPath не идентифицирован, где проблема заключается в том, что Аскер нацелен не только на рабочий стол.