[英]C++ Builder 10 Seattle NotificationCenter linker error
我已经使用RAD Studio 10 Seattle创建了一个新的VCL表单。
我在设计时添加了一个NotificationCenter。 然后,我对其进行编译并成功运行。
但是当我执行以下两个步骤时:
1.去
项目->选项-> C ++链接器
并取消选中“使用动态RTL链接”选项。
2.去
项目->选项->包->运行时包
并取消选中“与运行时程序包链接”选项。
选中这些选项是为了使.exe独立,即能够在没有IDE的情况下执行.exe文件。 因此,取消选中这些选项时,所有库和程序包都链接到.exe文件。
但是现在,当我编译它时,在链接阶段会给我以下错误:
[ilink64 Error] Error: Unresolved external 'SHStrDupW' referenced from D:\PROGRAM FILES\EMBARCADERO\EMBARCADERO\STUDIO\17.0\LIB\WIN64\RELEASE\RTL.A|System.Win.Notification.o
[ilink64 Error] Error: Unresolved external 'WindowsDeleteString' referenced from D:\PROGRAM FILES\EMBARCADERO\EMBARCADERO\STUDIO\17.0\LIB\WIN64\RELEASE\RTL.A|Winapi.UI.Notifications.o
[ilink64 Error] Error: Unresolved external 'RoInitialize' referenced from D:\PROGRAM FILES\EMBARCADERO\EMBARCADERO\STUDIO\17.0\LIB\WIN64\RELEASE\RTL.A|System.Win.WinRT.o
[ilink64 Error] Error: Unresolved external 'RoUninitialize' referenced from D:\PROGRAM FILES\EMBARCADERO\EMBARCADERO\STUDIO\17.0\LIB\WIN64\RELEASE\RTL.A|System.Win.WinRT.o
[ilink64 Error] Error: Unresolved external 'WindowsGetStringRawBuffer' referenced from D:\PROGRAM FILES\EMBARCADERO\EMBARCADERO\STUDIO\17.0\LIB\WIN64\RELEASE\RTL.A|System.Win.WinRT.o
[ilink64 Error] Error: Unresolved external 'WindowsCreateString' referenced from D:\PROGRAM FILES\EMBARCADERO\EMBARCADERO\STUDIO\17.0\LIB\WIN64\RELEASE\RTL.A|System.Win.WinRT.o
[ilink64 Error] Error: Unresolved external 'RoGetActivationFactory' referenced from D:\PROGRAM FILES\EMBARCADERO\EMBARCADERO\STUDIO\17.0\LIB\WIN64\RELEASE\RTL.A|System.Win.WinRT.o
[ilink64 Error] Error: Unresolved external 'RoActivateInstance' referenced from D:\PROGRAM FILES\EMBARCADERO\EMBARCADERO\STUDIO\17.0\LIB\WIN64\RELEASE\RTL.A|System.Win.WinRT.o
所以我搜索了我的
恩巴卡德罗/17.0/
目录中的第一个链接器错误SHStrDupW
供参考,并找到了三个扩展名为.h或.hpp的文件,并将它们包含在我的项目中,但结果相同。
有谁知道如何解决此错误,我将不胜感激。 :)
PS:不论是针对Win32还是Win64 OS进行编译都没有关系。
链接器错误是指Win32 / WinRT API函数。 您需要将Shlwapi.lib
和runtimeobject.lib
添加到项目中以解决这些引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.