【发布时间】:2014-05-13 22:17:04
【问题描述】:
我正在 (VS2013) 上构建 GTK+ VS2010 项目配置,并且正在尝试添加浏览文件夹功能(我想使用 Native Windows 方式)。我正在使用以下代码:
#include <windows.h>
#include <ShlObj.h>
DWORD WINAPI BrowseFolder(void *ptr)
{
char path[MAX_PATH];
cchar * path_param = (cchar*)ptr;
BROWSEINFO bi = { 0 };
bi.lpszTitle = ("Select Folder");
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;
bi.lpfn = BrowseCallbackProc;//callback function defined..
bi.lParam = (LPARAM)path_param;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if (pidl != 0)
{
//get the name of the folder and put it in path
SHGetPathFromIDList(pidl, path);
//free memory used
IMalloc * imalloc = 0;
if (SUCCEEDED(SHGetMalloc(&imalloc)))
{
imalloc->Free(pidl);
imalloc->Release();
}
strcpy(g_sDefaultDir, path);
return 0;
}
}
但在编译时我收到此错误消息
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\shobjidl.h(17624):错误 C2061:语法错误:标识符“IXMLDOMDocument”
这是我的配置: 我在 VS2013 上运行 VS2010 解决方案 使用标准 Windows 库 不使用 ATL 并使用多字节字符集
有什么想法吗?
【问题讨论】:
-
我也尝试过使用不同的 SDK,v7.0A 和 Windows Kits 8.0 和 8.1
标签: c++ visual-studio-2013 gtk