首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Visual中使用C++ shlwapi库?

如何在Visual中使用C++ shlwapi库?
EN

Stack Overflow用户
提问于 2016-07-03 07:18:12
回答 3查看 10.9K关注 0票数 1

我想做一个简单的程序,用它们的扩展名对文件进行分类,但是当试图编译时,得到了错误。

严重性代码描述项目文件行错误LNK2019未解析的外部符号__imp__PathFileExistsW@4在函数“classifyFiles@@YAXXZ”中引用

我的代码是PathFileExists的名称所在:

代码语言:javascript
运行
复制
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

EN

回答 3

Stack Overflow用户

发布于 2018-04-05 13:56:30

将shlwapi.lib添加到依赖项列表中:

配置属性->链接器->输入->附加依赖项

票数 8
EN

Stack Overflow用户

发布于 2016-07-03 08:46:45

为了使构建成功,我做了两件事:添加

#pragma comment(lib, "Shlwapi.lib")

包括之后。在我的具体情况下,更改下面的代码行会产生不同的效果,即使它们是相同的,也是出于某种原因。改变:

代码语言:javascript
运行
复制
if (!PathFileExistsW(folderName))

至:

代码语言:javascript
运行
复制
if (PathFileExistsW(folderName) == FALSE)

由于某些原因,使用PathFileExists的值(就像第一次输出链接错误一样),即使其他一切都正常,也是如此。第二天,我再次测试了它,它是双向的。也许那是我的想象,是在犯一些错误。

票数 3
EN

Stack Overflow用户

发布于 2016-07-03 07:22:33

首先您需要添加VC++目录,然后您需要设置链接器输入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38167618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档