error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用

时间:2022-11-21 02:06:31
在VS2017里面写Qt5.9.2的项目,创建了一个新的Qt GUI 的项目, 但是却发现有一个关于怀疑.lib有关的问题。

具体错误如下:

1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 __imp__RoGetActivationFactory@12,该符号在函数 "public: __thiscall AppContainer::AppContainer(void)" (??0AppContainer@@QAE@XZ) 中被引用
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 _WindowsCreateStringReference@16,该符号在函数 "private: void __thiscall Microsoft::WRL::Wrappers::HStringReference::CreateReference(wchar_t const *,unsigned int,unsigned int)" (?CreateReference@HStringReference@Wrappers@WRL@Microsoft@@AAEXPB_WII@Z) 中被引用
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 _WindowsDeleteString@4,该符号在函数 "public: void __thiscall Microsoft::WRL::Wrappers::HString::Release(void)" (?Release@HString@Wrappers@WRL@Microsoft@@QAEXXZ) 中被引用
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 _WindowsGetStringRawBuffer@8,该符号在函数 "public: wchar_t const * __thiscall Microsoft::WRL::Wrappers::HString::GetRawBuffer(unsigned int *)const " (?GetRawBuffer@HString@Wrappers@WRL@Microsoft@@QBEPB_WPAI@Z) 中被引用
1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 _RoOriginateError@8,该符号在函数 "public: static void __cdecl Microsoft::WRL::ErrorHelper<0>::OriginateError(long,struct HSTRING__ *)" (?OriginateError@?$ErrorHelper@$0A@@WRL@Microsoft@@SAXJPAUHSTRING__@@@Z) 中被引用
1>D:\New Projects\VS_Project\QtGuiApplication7\Win32\Debug\\QtGuiApplication7.exe : fatal error LNK1120: 6 个无法解析的外部命令
1>已完成生成项目“QtGuiApplication7.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========


在这里以其中一条具体的为例子
:1>qtmaind.lib(qtmain_winrt.obj) : error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用


百度许多文章,发现大部分都是说缺少对应得.lib或者.h的文件, 但是我查看该项目的属性,发现是有qtmaind.lib这个库的,但是问什么还是有错误呢?
error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用
error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用
error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用


百思不得七姐~~
有没有大牛可以指点一下》》》

5 个解决方案

#1


[ error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用

补一张图, 兄弟解决没,我也遇到了这个问题,好几天了。说下,谢谢, 将错误信息中出现的标识符放在百度里面搜一下,看其在哪个.lib中,然后在本地硬盘上搜索该.lib,如果没有,在网上搜索相关库或模块下载安装,然后将其所在目录填写到“附加依赖库所在目录”中,将其名字添加到“附加依赖库”中,重新连接。

项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
, 我也是,在编译OBS时,显示无法解析的外部符号,有解决方法没,
引用 2 楼 丢失了记忆的回复:
兄弟解决没,我也遇到了这个问题,好几天了。说下,谢谢

果断不纠结了。换成vs2015+ qt5.8完美。完全没必要使用那么新的环境学习,多么痛的领悟]

#1


[ error LNK2019: 无法解析的外部符号 __imp__RoInitialize@4,该符号在函数 _WinMain@16 中被引用

补一张图, 兄弟解决没,我也遇到了这个问题,好几天了。说下,谢谢, 将错误信息中出现的标识符放在百度里面搜一下,看其在哪个.lib中,然后在本地硬盘上搜索该.lib,如果没有,在网上搜索相关库或模块下载安装,然后将其所在目录填写到“附加依赖库所在目录”中,将其名字添加到“附加依赖库”中,重新连接。

项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项
, 我也是,在编译OBS时,显示无法解析的外部符号,有解决方法没,
引用 2 楼 丢失了记忆的回复:
兄弟解决没,我也遇到了这个问题,好几天了。说下,谢谢

果断不纠结了。换成vs2015+ qt5.8完美。完全没必要使用那么新的环境学习,多么痛的领悟]