我正在尝试使用Windows的API创建符号链接,但即使我已包含windows.h
,CreateSymbolicLink
函数似乎也不存在。
我正在使用Qt Creator。我可以使用API中的其他函数,除了这个函数。
任何人都可以解释原因吗?
我在Windows 8.1上。
修改
我的代码:
#include "windows.h"
bool createSymbolicLink(const int &type, const QString &linkPath, const QString &targetPath) {
DWORD windows_Type = type;
wchar_t* windows_LinkPath = new wchar_t[linkPath.length()];
linkPath.toWCharArray(windows_LinkPath);
wchar_t* windows_TargetPath = new wchar_t[targetPath.length()];
targetPath.toWCharArray(windows_TargetPath);
return CreateSymbolicLinkW(windows_LinkPath, windows_TargetPath, windows_Type) != 0;
}
错误:未在此范围内声明'CreateSymbolicLinkW'
答案 0 :(得分:2)
CreateSymbolicLink
对Vista的最低要求为documented at MSDN。
这意味着您需要通过条件定义指定您的目标是Vista及更高版本。您可以在此处找到更多文档:
因此,您可以在包含Windows头文件之前包含这些定义。
#define WINVER 0x0600
#define _WIN32_WINNT 0x0600
如果这没有帮助,那么您的SDK已经过时,需要切换到更新的SDK。