【发布时间】:2014-01-12 08:29:37
【问题描述】:
我使用 MFC(Visual Studio 2010) 制作了一个应用程序,它有一个使用 MFC EditBrowse 控件的文件夹选择按钮。它适用于VS2010。但是当我在 VS2012 上运行该应用程序时,出现“BIF_RETURNONLYFSDIRS”未声明标识符的错误(错误 C2065)。为什么会出现错误,我在网上搜索过,但没有针对此类问题的正确答案。 谢谢
【问题讨论】:
-
我在 VS2012 中使用
CMFCEditBrowseCtrl没有问题,该标识符是无条件的#define'ed 所以问题必须在一些我们看不到的代码中。可以发SSCCE吗? -
这个问题确实没有合适的答案。您可以尝试显式添加
#include <shlobj.h>指令。怀疑它是否有效,去看看那个文件以检查它是否处于良好状态。 -
@Roger Rowland 和 Hans Passant:我的项目是 MFC 64 位,这是错误的原因吗?
-
@Hans Passant:我把 shlobj.h 放在 afxeditbrowserctrl.h 上面。然后就可以了。
-
@batuman;或在“afxeditbrowserctrl.h”之前添加“shlobj_core.h”,两者都有效。
标签: visual-studio-2010 visual-studio-2012 mfc