From 634d1005428279ed953f51f201731dc49a966366 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 21 Sep 2026 18:20:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(windows):=20=E9=9B=86=E6=88=90=20VC++=20?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E5=BA=93=E5=88=B0=E5=AE=89=E8=A3=85=E5=8C=85?= =?UTF-8?q?=EF=BC=88=E5=B9=B2=E5=87=80=E7=94=B5=E8=84=91=E7=BC=BA=20vcrunt?= =?UTF-8?q?ime140=20=E7=AD=89=E5=AF=BC=E8=87=B4=E5=90=AF=E5=8A=A8=E6=8A=A5?= =?UTF-8?q?=E9=94=99=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit flutter_windows.dll 与 HiTi SDK 均动态依赖 VC++ runtime,开发机因 VS 而有、 干净电脑没有(用户实测:他人电脑安装后启动弹找不到 dll)。 方案=应用本地部署(微软官方允许):从 VS 的 VC\Redist 拷运行库 dll 到 windows/vendor/vcruntime/(gitignore 不忽略,随仓库),CMake POST_BUILD 自动拷到 exe 旁,安装包随之分发。 --- windows/runner/CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/windows/runner/CMakeLists.txt b/windows/runner/CMakeLists.txt index d6aa24e..9e8c493 100644 --- a/windows/runner/CMakeLists.txt +++ b/windows/runner/CMakeLists.txt @@ -54,3 +54,15 @@ add_custom_command(TARGET ${BINARY_NAME} POST_BUILD "${CMAKE_CURRENT_SOURCE_DIR}/../vendor/heatthcd.bin" $ ) + +# VC++ 运行库(windows/vendor/vcruntime/):flutter_windows.dll 与 HiTi SDK 均依赖 +# vcruntime140/msvcp140 等——开发机因装 VS 而有,干净电脑没有(安装后启动弹 +# "找不到 VCRUNTIME140.dll")。应用本地部署(exe 旁优先加载)为微软官方允许的分发方式。 +# 目录内容从开发机 VS 的 VC\Redist\MSVC\*\x64\Microsoft.VC143.CRT 拷入(见 README)。 +if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../vendor/vcruntime") + add_custom_command(TARGET ${BINARY_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${CMAKE_CURRENT_SOURCE_DIR}/../vendor/vcruntime" + $ + ) +endif()