[英]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.