Visual Studio编译和运行wxPDFView
一、前期准备
1.下载和编译wxWidgets
https://www.cnblogs.com/live41/p/17326345.html
假设wxWidgets根目录放在E:\,即E:\wxWidgets
2.下载PDFium预编译包
https://github.com/bblanchon/pdfium-binaries
下载pdfium-win-x86.tgz或pdfium-v8-win-x86.tgz文件(建议用前者,文件较小)
解压到pdfium目录。例如放在E:\pdfium
* 不建议自行编译PDFium,因为网络原因,Google的编译工具depot_tools的gclient命令经常连接失败
二、下载wxPDFView
https://github.com/TcT2k/wxPDFView
Code -> Download ZIP
解压到wxPDFView-master目录。例如放在E:\wxPDFView-master
三、编译wxPDFView
1.创建C++窗体工程(Windows Desktop Application),命名为wxPDFView。假设根目录放在E:\,即E:\wxPDFView
2.删除默认创建的Header Files、Resource Files、Source Files以及里面的文件。
* 先删除里面的文件,再删除目录。删除用delete,不要用remove。
3.把wxPDFView-master目录的art、include、samples、src子目录移动到wxPDFView项目的根目录下
并把include、samples、src中的文件添加到项目中(直接拖拽这3个目录进Visual Studio界面的解决方案树的项目节点即可)
4.把pdfium目录移动到wxPDFView项目的根目录下
并把pdfium\lib中的文件添加到项目中(直接拖拽lib目录进Visual Studio界面的解决方案树的项目节点即可)
5.右键项目 -> Properties ->
(1) -> Platform -> Win32(默认就是32位,只是确认一下,不要选择x64)
(2) -> Debugging -> Working Directory -> 下拉框点击Browse -> 选择"wxPDFView\pdfium\bin"目录
(3) -> C/C++ -> Additional Include Directories -> 下拉框点击Edit -> 添加以下几行:
include
include\private
pdfium\include
..\wxWidgets\include
..\wxWidgets\include\msvc
* 其中..表示E:\wxPDFView访问E:\wxWidgets的相对路径
(4) -> Linker -> Additional Library Directories -> 下拉框点击Edit -> 添加以下一行:
..\wxWidgets\lib\vc_lib
5.Visual Studio主界面的下拉框选择x86(就是调试按钮左边的下拉框),编译和运行
* 如果遇到报错提示"找不到fpdf_libs.h文件"或"FPDF_InitEmbeddedLibraries函数未定义",就注释掉以下2行(在PDFViewImpl.cpp文件中):
#include "fpdf_libs.h"
FPDF_InitEmbeddedLibraries(resPathStr.c_str());
注释掉后,重新编译即可
四、其它
1.如果编译或运行时报一堆"unresolved external symbol"的错
(1) 检查项目多个地方的32位或64位配置是否一致
(2) 使用的wxWidgets和PDFium组件,也要和项目的32位或64位一致
(3) 检查lib文件和dll文件的路径是否配对了
(4) 检查是否没安装Windows SDK(建议安装Windows 10 SDK)
(5) 其它情况参考这篇:https://www.cnblogs.com/live41/p/17328164.html
2.[不建议]自行编译PDFium组件
官方的编译流程:https://pdfium.googlesource.com/pdfium/
第三方编译流程:https://www.cnblogs.com/csstudy/p/17142170.html
* 一般在用到gclient命令时都会请求失败或超时
参考资料:https://blog.csdn.net/weixin_43852117/article/details/123734417
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具