我正在尝试为在游戏中保存文件创建一个新目录,但在使用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>
如果不是,我是否错误地构建了代码?我基于之前提出的问题的答案,所以我假设不是。
该错误并不意味着您没有包含头文件。 此错误表示您没有链接到相应的库。
错误是链接器错误,解决方案是在项目中包含库文件"Shlwapi.lib">
您可以在项目设置中包含 lib 文件。
致谢:Barmak Shemirani
打开项目属性,转到 Linker->Input 并将 Shlwapi.lib 添加到依赖项。就像一个魅力。