确定 Visual Studio 和 Windows SDK 版本

  • 需要Visual Studio2017 及以上

  • Windows SDK 10.0.19041 及以上(需要Debugging Tools For Windows)

  • 安装`Desktop development with C++`

  • 安装`MFC/ATL support`

设置全局代理

set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set DEPOT_TOOLS_UPDATE=0
set http_proxy=127.0.0.1:1080
set https_proxy=127.0.0.1:1080
set GYP_MSVS_VERSION=2022

安装 depot\_tools

  • 下载 [depot\_tools](https://storage.googleapis.com/chrome-infra/depot_tools.zip "depot_tools") ,并解压缩到d:\sdk\depot\_tools目录

  • 系统`path`环境变量添加`d:\sdk\depot_tools`

  • 将然后设置`vs2022_install`环境变量为`D:\Program Files\Microsoft Visual Studio\2022\Community`

  • 运行`gclient`

验证Python安装

命令行输入`where python`,确保`D:\sdk\depot_tools\python.bat`在第一条,\ 如果不是则修改PATH环境变量顺序

下载 pdfium 代码

以管理员身份打开命令提示符,进入`D:\cproject\pdfium`目录

gclient config --unmanaged https://pdfium.googlesource.com/pdfium.git
gclient sync

Copy

生成构建文件

cd pdfium
gn args --ide=vs out\Default

out\Default\args.gn如下

# Set build arguments here. See `gn help buildargs`.

use_goma = false

clang_use_chrome_plugins = false

pdf_is_standalone = true

pdf_use_skia = false
pdf_use_skia_paths = false

is_debug = false

is_component_build = true

pdf_is_complete_lib = false

pdf_enable_xfa = false

pdf_enable_v8 = false

target_cpu = "x86"

is_clang = true

Copy

禁用v8可以提高编译性能,使用clang可以提高编译和程序运行性能,如果VS编译不通过,就尝试使用clang试试。

编译测试

编译测试程序

ninja -C out\Default pdfium_test # 编译测试程序
pdfium_test --help # 运行测试程序

编译windows动态库dll

# 首先需要将 is_component_build 改为 true
ninja -C out\Default pdfium # 编译动态库

参考

本条目发布于[2022年1月19日](https://c4ys.com/archives/2738 "11:43")。属于[C++](https://c4ys.com/archives/category/c)分类,被贴了 [pdfium](https://c4ys.com/archives/tag/pdfium) 标签。