创建pdfium DLL
我想创建一个dll除了将pdfium
使用Visual Studio 2013(在Creating a dll in pdfium)当我下载pdfium
项目,我设置DEPOT_TOOLS_WIN_TOOLCHAIN=0
,因为现在,在默认情况下,他们使用的工具链从depot_tools。创建pdfium DLL
但在生成过程中我还得到一个错误:
error LNK2019: unresolved external symbol _FPDF_BStr_Init referenced in function "public: class CFX_WideString __thiscall CPDFDoc_Environment::FFI_PostRequestURL(wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *,wchar_t const *)" ([email protected][email protected]@[email protected]@[email protected]) ..\pdfium\fpdfxfa.lib(fpdfxfa_app.obj) pdfium
和相似约_FPDF_BStr_Clear
error LNK2019: unresolved external symbol _FPDF_BStr_Clear referenced in function "public: class CFX_WideString __thiscall CPDFDoc_Environment::FFI_PostRequestURL(...
我通过,这可能与XFA问题,所以我试图没有它建立pdfium。我从此解决方案中的所有项目的预处理器定义中删除了PDF_ENABLE_XFA
,但后来我发现fxcodec和fxcrt不会在没有该定义的情况下生成。 当我离开那个项目的定义时,我可以成功构建pdfium项目,但是当我在我的应用程序中使用它时,它失败。
然后,我试图以不同的顺序做到这一点,并得到DLL,但没有使用FPDFSDK_EXPORTS定义。当我添加它时,出现这些错误。
您不需要编辑构建命令来禁用XFA。当您运行gn args out/Debug
时,您可以添加一个pdf_enable_xfa=false
条目。您也可以使用pdf_enable_v8=false
禁用V8。
最近增加了一个选项来为PDFium构建完整的库(尚未使用V8或XFA进行测试)。如果你添加了pdf_is_complete_lib=true
并建立你应该只需链接到生成的libpdfium。