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

 

posted @ 2023-04-20 02:13  Clotho_Lee  阅读(148)  评论(0编辑  收藏  举报