- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试在 Windows 7 中的 Visual Studio 2010 中编译程序。我在 Windows header shlobj.h
中收到编译错误 C2061: syntax error: identifier 'KNOWN_FOLDER_FLAG'在标记线处:
#if (NTDDI_VERSION >= NTDDI_VISTA)
typedef enum
{
KF_FLAG_DEFAULT = 0x00000000,
KF_FLAG_CREATE = 0x00008000,
KF_FLAG_DONT_VERIFY = 0x00004000,
KF_FLAG_DONT_UNEXPAND = 0x00002000,
KF_FLAG_NO_ALIAS = 0x00001000,
KF_FLAG_INIT = 0x00000800,
KF_FLAG_DEFAULT_PATH = 0x00000400,
KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200,
KF_FLAG_SIMPLE_IDLIST = 0x00000100,
KF_FLAG_ALIAS_ONLY = 0x80000000,
} KNOWN_FOLDER_FLAG;
DEFINE_ENUM_FLAG_OPERATORS(KNOWN_FOLDER_FLAG);
STDAPI SHGetKnownFolderIDList(__in REFKNOWNFOLDERID rfid,
__in DWORD /* KNOWN_FOLDER_FLAG */ dwFlags,
__in_opt HANDLE hToken,
__deref_out PIDLIST_ABSOLUTE *ppidl);
STDAPI SHSetKnownFolderPath(__in REFKNOWNFOLDERID rfid,
__in DWORD /* KNOWN_FOLDER_FLAG */ dwFlags,
__in_opt HANDLE hToken,
__in PCWSTR pszPath);
STDAPI SHGetKnownFolderPath(__in REFKNOWNFOLDERID rfid,
__in DWORD /* KNOWN_FOLDER_FLAG */ dwFlags,
__in_opt HANDLE hToken,
__deref_out PWSTR *ppszPath);
#endif // NTDDI_VISTA
#if (NTDDI_VERSION >= NTDDI_WIN7)
STDAPI SHGetKnownFolderItem(__in REFKNOWNFOLDERID rfid,
__in KNOWN_FOLDER_FLAG flags, <<<ERROR AT THIS LINE
__in_opt HANDLE hToken,
__in REFIID riid,
__deref_out void **ppv);
#endif // NTDDI_WIN7
在我的程序中版本宏定义如下
#define NTDDI_VERSION NTDDI_WINXP
编译不通过的原因是什么?
在我看来,我遇到错误的部分根本不能编译,但它以某种方式编译了。
最佳答案
只有一个合乎逻辑的结论:出于某种原因,编译此 header 时 NTDDI_VERSION
的扩展不是您认为的那样。
尝试通过搜索 #undef NTDDI_VERSION
进行故障排除并重新构建您的项目(如果您使用的是预编译 header ,则可能相关)。
关于C++ WinSDK 头文件编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10738357/
我正在尝试在 Windows 7 中的 Visual Studio 2010 中编译程序。我在 Windows header shlobj.h 中收到编译错误 C2061: syntax error:
我试图调用使用 g++ (mingw) 编译的 GetPhysicalCusrorPos(),结果发现我的 sdk 已过时。所以我去下载了最新的带有最新 w32api 的 MinGW,但是标题中仍然缺
所以我最近在使用 web 开发、python 和 c# 度过永恒之后,由于新 PC 上的各种不相关原因,我又回到了 VC++ 和 .NET 4.5(Visual Studio 2012 专业版)。作为
尝试实现一个进程是否仍在运行的穷人测试(本质上等同于琐碎的 kill(pid, 0)。) 希望能够简单地调用 OpenProcess 并进行一些最小的访问,然后测试 GetLastError() ==
我终于能够在我的 Windows Vista 系统上成功安装 Windows SDK 工具 (v.7.1)。我已经安装了 GCC 编译器,这就是我目前用来编译 C 代码的工具。 我在哪里可以找到 Wi
我是一名优秀的程序员,十分优秀!