函数PathAppend上未解决的外部符号错误

时间:2018-06-13 14:14:22

标签: c++ windows

我正在尝试为我的游戏中的保存文件创建一个新目录,当我使用PathAppend时,我收到了一个未解决的外部符号错误。

if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_COMMON_DOCUMENTS, NULL, 0, path))) {
            PathAppend(path, "AotDK\\saves");
            if (SHCreateDirectoryEx(NULL, path, NULL) != ERROR_SUCCESS) {
                std::cout << "Error: " << GetLastError();
            }
        } else {
        std::cout << "Error: " << GetLastError();
        }

我知道这通常意味着我没有包含头文件,但是从我收集的内容中我已经包含了我需要的所有内容。我错过了吗?

#include "main.hpp"
#include <iostream>
#include <Windows.h>
#include <ShlObj.h>
#include <Shlwapi.h>

如果没有,我是否构造错误的代码?我基于之前提出的问题答案,所以我不会假设。

2 个答案:

答案 0 :(得分:0)

感谢:Barmak Shemirani

打开项目属性,转到Linker-&gt;输入并将Shlwapi.lib添加到依赖项。像魅力一样。

答案 1 :(得分:0)

错误并不意味着您没有包含头文件。 此错误意味着您没有链接到相应的库。

错误是链接器错误,解决方案是在项目中包含lib文件&#34; Shlwapi.lib&#34;

您可以在项目设置中包含lib文件。