由于个人的兴趣,想使用MFC做一个pdf解析的工具。以前用过poppler,不过是mingw版,使用的是QT,因此想自己尝试编译一个msvc版本的poppler,百度了各种资料,最后终于成功,在此记录一下。
平台:Win10, 编译工具:vs2017
1.先去官网下载poppler https://poppler.freedesktop.org/,我下载的是poppler-0.82.0
2.需要去cmake官网下载cmake,https://cmake.org/
3.开始第一次尝试用cmake编译,会提示
原来是缺少test文件,按照指示,使用git下载test文件。注意test文件夹放的位置,cmake中testdatadir会显示test文件夹的位置,可以在此处修改成你存放的test文件夹的位置。
修改完毕后进行第二次编译,记得删掉build文件夹下的所有东西。
4.第二次编译会提示缺少freetype库
其实poppler库依赖的还有jpeg、png、tiff、openjpeg、libiconv等库。
windows下可以使用vcpkg安装这些库。
5.从github上下载vcpkg
git clone https://github.com/Microsoft/vcpkg.git
6.下载完成以后,使用powershell安装vcpkg,命令如下
7.vcpkg安装成功以后就是安装各种poppler依赖的第三方库,执行以下命令:
.\vcpkg.exe install freetype
.\vcpkg.exe install devil
.\vcpkg.exe install openjpeg
.\vcpkg.exe install libiconv
在安装第三方库的时候 ,会提示缺少英文语言包,原因是vs安装的时候没有安装英文语言包,因此需要注意这一点。
8.重新继续删除bulid文件夹,重新编译一次
注意,此处需要修改一下cmakelists.txt,在首行加上“set(CMAKE_TOOLCHAIN_FILE "D:\SoftWare\vcpkg\scripts\buildsystems\vcpkg.cmake")”,指定使用vcpkg.cmake.
9.最后编译,发现编译成功。