我想做一个简单的程序,用它们的扩展名对文件进行分类,但是当试图编译时,得到了错误。
严重性代码描述项目文件行错误LNK2019未解析的外部符号__imp__PathFileExistsW@4在函数“classifyFiles@@YAXXZ”中引用
我的代码是PathFileExists的名称所在:
void classifyFiles() {
for (int i = 0; i < files.max_size(); i++) {
//if each folder doesn't exist, create folder
LPCWSTR folderName = (L"\\" + extensions.at(i)).c_str();
if (!PathFileExistsW(folderName)) {
CreateDirectory(folderName, NULL);
};
LPCWSTR destination = (extensions.at(i) + files.at(i)).c_str();
//move file
MoveFile(files.at(i).c_str(), destination);
}
}
我谷歌了一下,似乎只包含Shlwapi.h
头是不够的,还需要链接库。但是我在中找不到任何关于如何做的答案。
注意:我发现每个菜单都有问题(这是我第一次使用Visual ),所以请说明在哪里可以找到什么,如果可能的话,还可以包括截图。
参考资料:https://msdn.microsoft.com/en-us/library/windows/desktop/bb773584(v=vs.85).aspx
发布于 2018-04-05 13:56:30
将shlwapi.lib添加到依赖项列表中:
配置属性->链接器->输入->附加依赖项
发布于 2016-07-03 08:46:45
为了使构建成功,我做了两件事:添加
#pragma comment(lib, "Shlwapi.lib")
包括之后。在我的具体情况下,更改下面的代码行会产生不同的效果,即使它们是相同的,也是出于某种原因。改变:
if (!PathFileExistsW(folderName))
至:
if (PathFileExistsW(folderName) == FALSE)
由于某些原因,使用PathFileExists的值(就像第一次输出链接错误一样),即使其他一切都正常,也是如此。第二天,我再次测试了它,它是双向的。也许那是我的想象,是在犯一些错误。
发布于 2016-07-03 07:22:33
首先您需要添加VC++目录,然后您需要设置链接器输入。
https://stackoverflow.com/questions/38167618
复制相似问题