作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将一个巨大的项目从 Qt 4.x 迁移到 5,(事实上我已经在这里多次寻求帮助,我非常感谢你的帮助)。我收到下一个错误:
..\marssies\userlayerswidget.cpp: In member function 'void LayersModel::importFromOld()': ..\marssies\userlayerswidget.cpp:1736:60: error: 'SHGFP_TYPE_CURRENT' was not declared in this scope
这没什么意义,因为我包含了正确的 header ,这里是所有包含的内容:
#include "userlayerswidget.h"
#include "appcommon.h"
#include "messagebox.h"
#include "polyline.h"
#include "painterbar.h"
#include "rectangle.h"
#include "polygon.h"
#include "label.h"
#include "line.h"
#include "point.h"
#include "encsymbol.h"
#include "touchswibz.h"
#include "mapmodulelist.h"
#include "offlinelayersaver.h"
#include "circle.h"
#include <QMenu>
#include <QDir>
#include <QDesktopServices>
#include <QtDebug>
#ifdef _WIN32
#include <Shlobj.h>
#endif
下面是一段使用 SHGFP_TYPE_CURRENT 的代码:
void LayersModel::importFromOld() {
TCHAR appPath[MAX_PATH];
if (!(SHGetFolderPath(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, appPath))) {
//code
}
我已经研究过,根据 http://msdn.microsoft.com/en-us/library/bb762181%28VS.85%29.aspx 一切都是正确的
我试图找到其他有同样问题的人,但要么上下文不同,要么问题没有得到回答。
谢谢。
最佳答案
在 ShlObj.h
中,SHFGP_TYPE_CURRENT
定义如下:
#if (_WIN32_IE >= 0x0500)
typedef enum {
SHGFP_TYPE_CURRENT = 0,
SHGFP_TYPE_DEFAULT = 1,
} SHGFP_TYPE;
#endif
所以可以这样做:
#define _WIN32_IE 0x0500
#include <ShlObj.h>
或者另一种方法是直接使用值0
或1
作为SHGetFolderPath
的参数。
关于c++ - “SHGFP_TYPE_CURRENT”未在此范围内声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23286545/
我正在将一个巨大的项目从 Qt 4.x 迁移到 5,(事实上我已经在这里多次寻求帮助,我非常感谢你的帮助)。我收到下一个错误: ..\marssies\userlayerswidget.cpp: In
我是一名优秀的程序员,十分优秀!