Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

desktop_webview_window fails to link on Windows ARM64

Aperta
#481 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
c, cmake

Direzione di ricerca

Esamina innanzitutto la configurazione CMake del plugin Windows e i file loader WebView2 esistenti in windows/libs/x64. Verifica in che modo il pacchetto Microsoft.Web.WebView2 fornisce i binari ARM64, quindi verifica che una build nativa Flutter per Windows ARM64 venga collegata senza l’avviso x64-versus-ARM64 né simboli non risolti. Il lavoro è completato quando entrambe le architetture supportate selezionano binari loader corrispondenti e il plugin viene compilato correttamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Issue

desktop_webview_window fails to build for native Windows ARM64 Flutter apps.

Flutter 3.44.1 auto-selects windows-arm64 on Windows ARM hosts. The plugin target is then built as ARM64, but the plugin links the x64 WebView2 loader import library.

Evidence

Environment:

Flutter 3.44.1
Dart 3.12.1
Windows ARM64 host
desktop_webview_window 0.3.0

Build failure:

web_view.obj : error LNK2019: unresolved external symbol CreateCoreWebView2EnvironmentWithOptions
web_view_window_plugin.obj : error LNK2019: unresolved external symbol GetAvailableCoreWebView2BrowserVersionString
windows\flutter\ephemeral\.plugin_symlinks\desktop_webview_window\windows\libs\x64\Webview2Loader.dll.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'ARM64'
desktop_webview_window_plugin.dll : fatal error LNK1120: 2 unresolved externals

Current Windows CMake hardcodes x64:

add_library(Webview2 SHARED IMPORTED GLOBAL)
SET_PROPERTY(TARGET Webview2 PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/libs/x64/Webview2Loader.dll)
SET_PROPERTY(TARGET Webview2 PROPERTY IMPORTED_IMPLIB ${CMAKE_CURRENT_SOURCE_DIR}/libs/x64/Webview2Loader.dll.lib)

The package only includes:

windows/libs/x64/WebView2Loader.dll
windows/libs/x64/WebView2Loader.dll.lib

Root Cause

The plugin always links the x64 WebView2 loader import library, regardless of the Windows build architecture.

On Windows ARM64 builds, MSVC cannot link an x64 .lib into an ARM64 plugin DLL, which produces LNK4272 and unresolved WebView2 symbols.

Suggested Fix

Ship WebView2 loader binaries for all supported Windows architectures and select the correct directory from CMake.

Suggested layout:

windows/libs/x64/WebView2Loader.dll
windows/libs/x64/WebView2Loader.dll.lib
windows/libs/arm64/WebView2Loader.dll
windows/libs/arm64/WebView2Loader.dll.lib

Suggested CMake behavior:

if(CMAKE_GENERATOR_PLATFORM MATCHES "ARM64")
  set(WEBVIEW2_LOADER_ARCH "arm64")
else()
  set(WEBVIEW2_LOADER_ARCH "x64")
endif()

set_property(TARGET Webview2 PROPERTY IMPORTED_LOCATION
  ${CMAKE_CURRENT_SOURCE_DIR}/libs/${WEBVIEW2_LOADER_ARCH}/WebView2Loader.dll)
set_property(TARGET Webview2 PROPERTY IMPORTED_IMPLIB
  ${CMAKE_CURRENT_SOURCE_DIR}/libs/${WEBVIEW2_LOADER_ARCH}/WebView2Loader.dll.lib)

Microsoft ships the ARM64 WebView2 loader in the Microsoft.Web.WebView2 NuGet package.

Lingua principale
C
Stelle
512
Fork
296
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di MixinNetwork/flutter-plugins

Tutte le issue di MixinNetwork/flutter-plugins

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.