feat(windows): 集成 VC++ 运行库到安装包(干净电脑缺 vcruntime140 等导致启动报错)
flutter_windows.dll 与 HiTi SDK 均动态依赖 VC++ runtime,开发机因 VS 而有、 干净电脑没有(用户实测:他人电脑安装后启动弹找不到 dll)。 方案=应用本地部署(微软官方允许):从 VS 的 VC\Redist 拷运行库 dll 到 windows/vendor/vcruntime/(gitignore 不忽略,随仓库),CMake POST_BUILD 自动拷到 exe 旁,安装包随之分发。
This commit is contained in:
1 parent
dd9b661516
commit
634d100542
1 file changed
+12
@@ -54,3 +54,15 @@ add_custom_command(TARGET ${BINARY_NAME} POST_BUILD
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../vendor/heatthcd.bin"
|
||||
$<TARGET_FILE_DIR:${BINARY_NAME}>
|
||||
)
|
||||
|
||||
# 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"
|
||||
$<TARGET_FILE_DIR:${BINARY_NAME}>
|
||||
)
|
||||
endif()
|
||||
Reference in new issue
Block a user