(Visual Studio 2010 / Visual C ++ / Windows 7)
example.cpp:
#include <Shlobj.h>
#pragma comment (lib, "Shell32.lib")
...
void example()
{
SHGetKnownFolderPath(...) // undefined
}
Я делаю все по документация и что я вижу в других темах, но это все еще не работает.
У меня была точно такая же проблема. Работал другой проект с тем же кодом и вспомогательными файлами (но с разными включениями).
Ввод #include <Shlobj.h>
вверху файла решена проблема.
Однако он может не воспроизводиться, поскольку должен был работать без этого. Вероятно, еще одна ошибка Visual Studio.
Попробуйте поставить следующее утверждение, прежде чем все включает:
#define WINVER 0x0600
#define _WIN32_WINNT 0x0600
Так как документация говорит, что нужно Vista / 2008 минимум.