LNK2019 SHLoadIndirectString的未解析外部符号
LNK2019 unresolved external symbol for SHLoadIndirectString
我正试图以间接字符串的形式从资源中提取字符串。对于当前的例子,我只是为Windows10内置的一个APPS取了一个间接字符串。然而,此代码在VisualStudio2015中返回错误,我不确定原因。
我知道,当定义丢失时,可能会产生未解析的外部符号链接器错误,但在我的情况下,我使用的是Microsoft Windows Function,并且我包含了正确的头文件,因此我不清楚Visual Studio为什么会返回这样的错误。
我在网上找不到任何关于那个案子的有用信息。
这是我的示例代码:
#include "stdafx.h"
#include <Shlwapi.h>
int main()
{
LPWSTR output = L"";
LPWSTR input = L"@{Microsoft.BingFinance_4.8.268.0_x86__8wekyb3d8bbwe?ms-resource://Microsoft.BingFinance/Resources/ApplicationTitle}";
int result = ::SHLoadIndirectString(input, output, sizeof(output), NULL );
// printf("String result: %s n", output);
return 0;
}
这是一个错误:
错误LNK2019未解析的外部符号__imp__SHLoadIndirectString@16在函数_main 中引用
除了包含头(用于编译时定义)外,还需要在"Shlwapi.lib"中进行链接以进行链接时符号解析。
Shlwapi.lib可以添加到项目链接器设置下的"附加依赖项"中。
通常,Windows API函数的MSDN文档包括对该函数的要求和可用性的描述,其中包括支持的操作系统,以及需要使用的头和库。
相关文章:
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 未解析的外部符号_MsiLocateComponentW@12.
- 在C++中使用 gRPC 时未解析的外部符号
- LibPrivoxy: 未解析的外部符号 __declspec(dllimport) int __stdcall Sta
- 尝试从 XamlApplication 编译 C++/WinRT 空白应用程序时,我收到未解析的外部符号 winrt_make_*
- 我收到错误LNK2001:未解析的外部符号(C++代码)
- 可视抽象类 c++(错误 LNK 2001:未解析的外部符号)
- 如何摆脱C++中未解析的外部符号"private: static char"错误?
- 当 lib 已添加到其他依赖项时,如何在 VS 中调试未解析的外部符号错误
- 仅在少数方法(静态或共享库)中解析的外部符号
- 未解析的外部符号"__declspec(dllimport)与 Spdlog c++ 库
- 函数 _main (OPENGL C++) 中引用的未解析的外部符号 ________
- 错误LNK2019未解析的外部符号"public: __thiscall SLinkList<char>::SLinkList<char>(void)"
- 使用静态 constexpr 成员的未解析外部符号
- 引入参数化构造函数后显示 LNK 2019 未解析外部符号的代码错误
- Dlib LNK2001未解析的外部符号USER_ERROR__consistent_build_configurati
- 矛盾的未解决的外部符号+未使用的库与VS2017和FFMPEG 4
- 链接器错误:切换到unicode生成给出:未解析的外部符号WinMain
- 类模板上一个特定函数的未解析外部符号
- LNK2001:未解析的外部符号public:static类std::vector