diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt index 5e69f31..1f2c994 100755 --- a/windows/CMakeLists.txt +++ b/windows/CMakeLists.txt @@ -78,6 +78,14 @@ add_subdirectory("runner") # them to the application. include(flutter/generated_plugins.cmake) +# 为所有插件应用 /FS 标志,解决 PDB 文件锁冲突问题 +# 这确保 flutter_inappwebview_windows 等插件能够正确编译 +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + if(TARGET ${plugin}_plugin) + target_compile_options(${plugin}_plugin PRIVATE /FS) + endif() +endforeach(plugin) + # === Installation === # Support files are copied into place next to the executable, so that it can diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 1101ef7..8844be2 100755 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -24,6 +24,10 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) + # 为每个插件目标应用 /FS 编译选项,解决并行编译时的 PDB 锁冲突 + if(TARGET ${plugin}_plugin) + target_compile_options(${plugin}_plugin PRIVATE /FS) + endif() endforeach(plugin) foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST})