vcpkg源码之install流程

赵裕(vimerzhao)
简介 vcpck install的主要工作是"构建(如果需要)和安装依赖包",是vcpkg中最关键、也是使用者感知最明显的环节,有必要对其流程有一个更底层的理解,这样对一些问题的理解也将更加深

vcpkg简介

赵裕(vimerzhao)
vcpkg要解决什么问题 C++语言的历史非常悠久,导致其在某些方面的使用体验非常差,比如三方库的依赖。 比如要引入一个skia库,我们大概有以下办法: 源码集成,会有几个问题 但Skia的构建是GN组织的,

通过vcpkg构建icu-for-android问题一则

赵裕(vimerzhao)
我们的项目通过vcpkg依赖了icu,但在构建Android平台的icu制品时,却失败了。 Installing 15/45 icu:arm-neon-android@73.1#1... Building icu:arm-neon-android@73.1#1... /root/.cache/vcpkg/registries/git-trees/eaccfc7689fb55d4badf3d2321a8be62ae5be84e: info: installing overlay port from here -- Downloading https://github.com/unicode-org/icu/releases/download/release-73-1/icu4c-73_1-src.tgz -> icu4c-73_1-src.tgz... -- Extracting source /data/landun/workspace/tdf_build_env/.vcpkg/downloads/icu4c-73_1-src.tgz -- Applying patch disable-escapestr-tool.patch -- Applying patch remove-MD-from-configure.patch -- Applying patch fix_parallel_build_on_windows.patch -- Applying patch fix-extra.patch -- Applying patch mingw-dll-install.patch -- Applying patch disable-static-prefix.patch -- Applying patch fix-win-build.patch -- Using source at /data/landun/workspace/tdf_build_env/.vcpkg/buildtrees/icu/src/c-73_1-src-72ff750ba0.clean --

如何利用ReleaseApk辅助排查性能问题

赵裕(vimerzhao)
背景 最近收到反馈,同样的场景,Android打开明显比iOS卡顿,实际打开也确实如此。故此要进一步排查这个问题。 我们的业务工程非常庞大,之前全量编一次竟然花了快2h。 此外,我负责的是底层渲染模块,此类

无妄之灾:记录一个奇怪的codelldb问题

赵裕(vimerzhao)
背景:最近打算为项目增加一些测试,重构后的项目比较适合用VSCode + codelldb调试,因为编译适合放在命令行(有一些环境变量依赖),VSCode直接启动产物并调试就行了,launch.json也

Skia升级小记m104->m122

赵裕(vimerzhao)
最近需要把Skia进行一次升级,首先查看下接口变动,See: RELEASE_NOTES.md 大部分都是接口的小调整,基本没什么难度,但注意m122的一个改动: SkFontMgr::RefDefault() has been deleted. Clients should instantiate and manage their own SkFontMgrs and use them to explicitly create SkTypefaces 找到这个改动的原因: Remove default SkFontMgr [305780908] - Skia 是

Android Gradle使用自定义的CMake

赵裕(vimerzhao)
背景 最近重构项目的CMake后,开始了Android平台的适配,踩了些坑,简单记录下。 Cmake版本过低 test 重构后的CMake使用了一些高版本的特性,比如: CMP0135: New in version 3.24. -> https://cmake.org/cmake/help/latest/policy/CMP0135.html FILE_SET <set-name>: New in version 3.23 -> https://cmake.org/cmake/help/latest/command/install.html 但Android

使用VSCode作为Chromium的调试前端

赵裕(vimerzhao)
之前试过VSCode作为C++工程的开发工具,但如果工程过于庞大,每次打开都会卡死在索引阶段。 总的来说,NeoVim+Clangd是我认为通用性、性能、开发体验综合最好的选择。 但有一个问题,怎么调试?

软件Bug的排查与解决

赵裕(vimerzhao)
写在前面 本文是我在公司内部的课程的脱敏版本,主要讲述个人对于“排查与解决软件Bug”这一问题的经验总结和沉淀思考。 由于课件中的部分案例是来源于日常工作,我做了脱敏处理,后续我也会整理这些案例,如果适合