在pdfium中创建一个dll

编程入门 行业动态 更新时间:2024-10-26 04:21:35
本文介绍了在pdfium中创建一个dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试图为 pdfium 创建一个dll。我使用Visual Studio 2013(C ++)我试过按照 github的说明操作/ pvginkel / PdfiumViewer 但是没有工作。(我想获得一个PDFium dll为不是PdfiumViewer的项目)。我收到以下错误:

I am trying to create a dll for pdfium. I am using Visual Studio 2013 (C++) I've tried following instructions from github/pvginkel/PdfiumViewer but that hasn't worked.(I am trying to get a pdfium dll for a project that is not PdfiumViewer). I get the following errors:

2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1193,5): warning MSB8012: TargetPath(\build\Debug\lib\pdfium.dll) does not match the Linker's OutputFile property value (C:\build\Debug\pdfium.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). 2> Creating library \build\Debug\pdfium.lib and object \build\Debug\pdfium.exp 2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_CreateFontA referenced in function "public: static class CPDF_Font * __cdecl CPDF_InterForm::AddSystemFont(class CPDF_Document const *,class CFX_ByteString,unsigned char)" (?AddSystemFont@CPDF_InterForm@@SAPEAVCPDF_Font@@PEBVCPDF_Document@@VCFX_ByteString@@E@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_CreateFontA 2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_CreateFontW referenced in function "public: static class CPDF_Font * __cdecl CPDF_InterForm::AddSystemFont(class CPDF_Document const *,class CFX_WideString,unsigned char)" (?AddSystemFont@CPDF_InterForm@@SAPEAVCPDF_Font@@PEBVCPDF_Document@@VCFX_WideString@@E@Z) 2>fxge.lib(fx_win32_print.obj) : error LNK2001: unresolved external symbol __imp_DeleteObject 2>fpdfdoc.lib(doc_form.obj) : error LNK2001: unresolved external symbol __imp_DeleteObject 2>fpdfapi.lib(fpdf_edit_doc.obj) : error LNK2001: unresolved external symbol __imp_DeleteObject 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_DeleteObject 2>fxge.lib(fx_win32_dib.obj) : error LNK2001: unresolved external symbol __imp_DeleteObject 2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_EnumFontFamiliesExA referenced in function "int __cdecl RetrieveSpecificFont(struct tagLOGFONTA &)" (?RetrieveSpecificFont@@YAHAEAUtagLOGFONTA@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_EnumFontFamiliesExA 2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_GetStockObject referenced in function "int __cdecl RetrieveStockFont(int,unsigned char,struct tagLOGFONTA &)" (?RetrieveStockFont@@YAHHEAEAUtagLOGFONTA@@@Z) 2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_GetObjectA referenced in function "public: static class CPDF_Font * __cdecl CPDF_InterForm::AddSystemFont(class CPDF_Document const *,class CFX_ByteString,unsigned char)" (?AddSystemFont@CPDF_InterForm@@SAPEAVCPDF_Font@@PEBVCPDF_Document@@VCFX_ByteString@@E@Z) 2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_GetObjectW referenced in function "public: static class CPDF_Font * __cdecl CPDF_InterForm::AddSystemFont(class CPDF_Document const *,class CFX_WideString,unsigned char)" (?AddSystemFont@CPDF_InterForm@@SAPEAVCPDF_Font@@PEBVCPDF_Document@@VCFX_WideString@@E@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_GetObjectW 2>fxge.lib(fx_win32_dib.obj) : error LNK2001: unresolved external symbol __imp_GetObjectW 2>fxge.lib(fx_win32_dwrite.obj) : error LNK2001: unresolved external symbol __imp_GetObjectW 2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_GetDC referenced in function "int __cdecl RetrieveSpecificFont(struct tagLOGFONTA &)" (?RetrieveSpecificFont@@YAHAEAUtagLOGFONTA@@@Z) 2>fpdfdoc.lib(doc_form.obj) : error LNK2019: unresolved external symbol __imp_ReleaseDC referenced in function "int __cdecl RetrieveSpecificFont(struct tagLOGFONTA &)" (?RetrieveSpecificFont@@YAHAEAUtagLOGFONTA@@@Z) 2>fpdfapi.lib(fpdf_edit_doc.obj) : error LNK2019: unresolved external symbol __imp_CreateCompatibleDC referenced in function "public: class CPDF_Font * __cdecl CPDF_Document::AddWindowsFont(struct tagLOGFONTA *,int,int)" (?AddWindowsFont@CPDF_Document@@QEAAPEAVCPDF_Font@@PEAUtagLOGFONTA@@HH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_CreateCompatibleDC 2>fxge.lib(fx_win32_dib.obj) : error LNK2001: unresolved external symbol __imp_CreateCompatibleDC 2>fpdfapi.lib(fpdf_edit_doc.obj) : error LNK2019: unresolved external symbol __imp_CreateFontIndirectA referenced in function "public: class CPDF_Font * __cdecl CPDF_Document::AddWindowsFont(struct tagLOGFONTA *,int,int)" (?AddWindowsFont@CPDF_Document@@QEAAPEAVCPDF_Font@@PEAUtagLOGFONTA@@HH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_CreateFontIndirectA 2>fpdfapi.lib(fpdf_edit_doc.obj) : error LNK2019: unresolved external symbol __imp_DeleteDC referenced in function "public: class CPDF_Font * __cdecl CPDF_Document::AddWindowsFont(struct tagLOGFONTA *,int,int)" (?AddWindowsFont@CPDF_Document@@QEAAPEAVCPDF_Font@@PEAUtagLOGFONTA@@HH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_DeleteDC 2>fxge.lib(fx_win32_dib.obj) : error LNK2001: unresolved external symbol __imp_DeleteDC 2>fpdfapi.lib(fpdf_edit_doc.obj) : error LNK2019: unresolved external symbol __imp_GetCharWidthW referenced in function "public: class CPDF_Font * __cdecl CPDF_Document::AddWindowsFont(struct tagLOGFONTA *,int,int)" (?AddWindowsFont@CPDF_Document@@QEAAPEAVCPDF_Font@@PEAUtagLOGFONTA@@HH@Z) 2>fpdfapi.lib(fpdf_edit_doc.obj) : error LNK2019: unresolved external symbol __imp_GetFontData referenced in function "class CFX_ByteString __cdecl _FPDF_GetPSNameFromTT(struct HDC__ *)" (?_FPDF_GetPSNameFromTT@@YA?AVCFX_ByteString@@PEAUHDC__@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_GetFontData 2>fpdfapi.lib(fpdf_edit_doc.obj) : error LNK2019: unresolved external symbol __imp_GetOutlineTextMetricsW referenced in function "public: class CPDF_Font * __cdecl CPDF_Document::AddWindowsFont(struct tagLOGFONTA *,int,int)" (?AddWindowsFont@CPDF_Document@@QEAAPEAVCPDF_Font@@PEAUtagLOGFONTA@@HH@Z) 2>fpdfapi.lib(fpdf_edit_doc.obj) : error LNK2019: unresolved external symbol __imp_SelectObject referenced in function "public: class CPDF_Font * __cdecl CPDF_Document::AddWindowsFont(struct tagLOGFONTA *,int,int)" (?AddWindowsFont@CPDF_Document@@QEAAPEAVCPDF_Font@@PEAUtagLOGFONTA@@HH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2001: unresolved external symbol __imp_SelectObject 2>fxge.lib(fx_win32_dib.obj) : error LNK2001: unresolved external symbol __imp_SelectObject 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_BitBlt referenced in function "protected: virtual int __cdecl CGdiDisplayDriver::GetDIBits(class CFX_DIBitmap *,int,int,void *,int)" (?GetDIBits@CGdiDisplayDriver@@MEAAHPEAVCFX_DIBitmap@@HHPEAXH@Z) 2>fxge.lib(fx_win32_dib.obj) : error LNK2001: unresolved external symbol __imp_BitBlt 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_CreateBitmap referenced in function "protected: __cdecl CGdiDeviceDriver::CGdiDeviceDriver(struct HDC__ *,int)" (??0CGdiDeviceDriver@@IEAA@PEAUHDC__@@H@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_CreateCompatibleBitmap referenced in function "protected: virtual int __cdecl CGdiDisplayDriver::GetDIBits(class CFX_DIBitmap *,int,int,void *,int)" (?GetDIBits@CGdiDisplayDriver@@MEAAHPEAVCFX_DIBitmap@@HHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_CreatePen referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::DrawCosmeticLine(float,float,float,float,unsigned int,int,void *,int)" (?DrawCosmeticLine@CGdiDeviceDriver@@MEAAHMMMMIHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_CreateRectRgn referenced in function "protected: virtual void * __cdecl CGdiDeviceDriver::GetClipRgn(void)" (?GetClipRgn@CGdiDeviceDriver@@MEAAPEAXXZ) 2>fxge.lib(fx_win32_print.obj) : error LNK2001: unresolved external symbol __imp_CreateRectRgn 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_CreateSolidBrush referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::FillRect(struct FX_RECT const *,unsigned int,int,void *,int)" (?FillRect@CGdiDeviceDriver@@MEAAHPEBUFX_RECT@@IHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_ExtEscape referenced in function "int __cdecl GetPSLevel(struct HDC__ *)" (?GetPSLevel@@YAHPEAUHDC__@@@Z) 2>fxge.lib(fx_win32_print.obj) : error LNK2001: unresolved external symbol __imp_ExtEscape 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_GetClipBox referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::GetClipBox(struct FX_RECT *)" (?GetClipBox@CGdiDeviceDriver@@MEAAHPEAUFX_RECT@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_GetClipRgn referenced in function "protected: virtual void * __cdecl CGdiDeviceDriver::GetClipRgn(void)" (?GetClipRgn@CGdiDeviceDriver@@MEAAPEAXXZ) 2>fxge.lib(fx_win32_print.obj) : error LNK2001: unresolved external symbol __imp_GetClipRgn 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_GetDeviceCaps referenced in function "protected: __cdecl CGdiDeviceDriver::CGdiDeviceDriver(struct HDC__ *,int)" (??0CGdiDeviceDriver@@IEAA@PEAUHDC__@@H@Z) 2>fxge.lib(fx_win32_print.obj) : error LNK2001: unresolved external symbol __imp_GetDeviceCaps 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_GetDIBits referenced in function "protected: virtual int __cdecl CGdiDisplayDriver::GetDIBits(class CFX_DIBitmap *,int,int,void *,int)" (?GetDIBits@CGdiDisplayDriver@@MEAAHPEAVCFX_DIBitmap@@HHPEAXH@Z) 2>fxge.lib(fx_win32_dib.obj) : error LNK2001: unresolved external symbol __imp_GetDIBits 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_GetObjectType referenced in function "protected: __cdecl CGdiDeviceDriver::CGdiDeviceDriver(struct HDC__ *,int)" (??0CGdiDeviceDriver@@IEAA@PEAUHDC__@@H@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_IntersectClipRect referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::SetClip_PathFill(class CFX_PathData const *,class CFX_Matrix const *,int)" (?SetClip_PathFill@CGdiDeviceDriver@@MEAAHPEBVCFX_PathData@@PEBVCFX_Matrix@@H@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_LineTo referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::DrawCosmeticLine(float,float,float,float,unsigned int,int,void *,int)" (?DrawCosmeticLine@CGdiDeviceDriver@@MEAAHMMMMIHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_RestoreDC referenced in function "protected: virtual void __cdecl CGdiDeviceDriver::RestoreState(int)" (?RestoreState@CGdiDeviceDriver@@MEAAXH@Z) 2>fxge.lib(fx_win32_print.obj) : error LNK2001: unresolved external symbol __imp_RestoreDC 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_SaveDC referenced in function "protected: virtual void __cdecl CGdiDeviceDriver::RestoreState(int)" (?RestoreState@CGdiDeviceDriver@@MEAAXH@Z) 2>fxge.lib(fx_win32_print.obj) : error LNK2001: unresolved external symbol __imp_SaveDC 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_SelectClipRgn referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::SetClipRgn(void *)" (?SetClipRgn@CGdiDeviceDriver@@MEAAHPEAX@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_SetDIBitsToDevice referenced in function "protected: int __cdecl CGdiDeviceDriver::GDI_SetDIBits(class CFX_DIBitmap const *,struct FX_RECT const *,int,int,void *)" (?GDI_SetDIBits@CGdiDeviceDriver@@IEAAHPEBVCFX_DIBitmap@@PEBUFX_RECT@@HHPEAX@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_SetPolyFillMode referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::DrawPath(class CFX_PathData const *,class CFX_Matrix const *,class CFX_GraphStateData const *,unsigned int,unsigned int,int,int,void *,int)" (?DrawPath@CGdiDeviceDriver@@MEAAHPEBVCFX_PathData@@PEBVCFX_Matrix@@PEBVCFX_GraphStateData@@IIHHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_StretchDIBits referenced in function "protected: int __cdecl CGdiDeviceDriver::GDI_SetDIBits(class CFX_DIBitmap const *,struct FX_RECT const *,int,int,void *)" (?GDI_SetDIBits@CGdiDeviceDriver@@IEAAHPEBVCFX_DIBitmap@@PEBUFX_RECT@@HHPEAX@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_SetStretchBltMode referenced in function "protected: __cdecl CGdiDeviceDriver::CGdiDeviceDriver(struct HDC__ *,int)" (??0CGdiDeviceDriver@@IEAA@PEAUHDC__@@H@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_GetTextMetricsW referenced in function "public: virtual int __cdecl CWin32FontInfo::GetFontCharset(void *,int &)" (?GetFontCharset@CWin32FontInfo@@UEAAHPEAXAEAH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_CreateDIBSection referenced in function "public: __cdecl CFX_WinBitmapDevice::CFX_WinBitmapDevice(int,int,enum FXDIB_Format)" (??0CFX_WinBitmapDevice@@QEAA@HHW4FXDIB_Format@@@Z) 2>fxge.lib(fx_win32_dib.obj) : error LNK2001: unresolved external symbol __imp_CreateDIBSection 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_BeginPath referenced in function "void __cdecl _SetPathToDC(struct HDC__ *,class CFX_PathData const *,class CFX_Matrix const *)" (?_SetPathToDC@@YAXPEAUHDC__@@PEBVCFX_PathData@@PEBVCFX_Matrix@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_CloseFigure referenced in function "void __cdecl _SetPathToDC(struct HDC__ *,class CFX_PathData const *,class CFX_Matrix const *)" (?_SetPathToDC@@YAXPEAUHDC__@@PEBVCFX_PathData@@PEBVCFX_Matrix@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_EndPath referenced in function "void __cdecl _SetPathToDC(struct HDC__ *,class CFX_PathData const *,class CFX_Matrix const *)" (?_SetPathToDC@@YAXPEAUHDC__@@PEBVCFX_PathData@@PEBVCFX_Matrix@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_FillPath referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::DrawPath(class CFX_PathData const *,class CFX_Matrix const *,class CFX_GraphStateData const *,unsigned int,unsigned int,int,int,void *,int)" (?DrawPath@CGdiDeviceDriver@@MEAAHPEBVCFX_PathData@@PEBVCFX_Matrix@@PEBVCFX_GraphStateData@@IIHHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_SelectClipPath referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::SetClip_PathFill(class CFX_PathData const *,class CFX_Matrix const *,int)" (?SetClip_PathFill@CGdiDeviceDriver@@MEAAHPEBVCFX_PathData@@PEBVCFX_Matrix@@H@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_SetMiterLimit referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::DrawPath(class CFX_PathData const *,class CFX_Matrix const *,class CFX_GraphStateData const *,unsigned int,unsigned int,int,int,void *,int)" (?DrawPath@CGdiDeviceDriver@@MEAAHPEBVCFX_PathData@@PEBVCFX_Matrix@@PEBVCFX_GraphStateData@@IIHHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_StrokeAndFillPath referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::DrawPath(class CFX_PathData const *,class CFX_Matrix const *,class CFX_GraphStateData const *,unsigned int,unsigned int,int,int,void *,int)" (?DrawPath@CGdiDeviceDriver@@MEAAHPEBVCFX_PathData@@PEBVCFX_Matrix@@PEBVCFX_GraphStateData@@IIHHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_StrokePath referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::DrawPath(class CFX_PathData const *,class CFX_Matrix const *,class CFX_GraphStateData const *,unsigned int,unsigned int,int,int,void *,int)" (?DrawPath@CGdiDeviceDriver@@MEAAHPEBVCFX_PathData@@PEBVCFX_Matrix@@PEBVCFX_GraphStateData@@IIHHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_WidenPath referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::SetClip_PathStroke(class CFX_PathData const *,class CFX_Matrix const *,class CFX_GraphStateData const *)" (?SetClip_PathStroke@CGdiDeviceDriver@@MEAAHPEBVCFX_PathData@@PEBVCFX_Matrix@@PEBVCFX_GraphStateData@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_ExtCreatePen referenced in function "struct HPEN__ * __cdecl _CreatePen(class CFX_GraphStateData const *,class CFX_Matrix const *,unsigned int)" (?_CreatePen@@YAPEAUHPEN__@@PEBVCFX_GraphStateData@@PEBVCFX_Matrix@@I@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_MoveToEx referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::DrawCosmeticLine(float,float,float,float,unsigned int,int,void *,int)" (?DrawCosmeticLine@CGdiDeviceDriver@@MEAAHMMMMIHPEAXH@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_PolyBezierTo referenced in function "void __cdecl _SetPathToDC(struct HDC__ *,class CFX_PathData const *,class CFX_Matrix const *)" (?_SetPathToDC@@YAXPEAUHDC__@@PEBVCFX_PathData@@PEBVCFX_Matrix@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_GetTextFaceA referenced in function "public: virtual int __cdecl CWin32FontInfo::GetFaceName(void *,class CFX_ByteString &)" (?GetFaceName@CWin32FontInfo@@UEAAHPEAXAEAVCFX_ByteString@@@Z) 2>fxge.lib(fx_win32_device.obj) : error LNK2019: unresolved external symbol __imp_FillRect referenced in function "protected: virtual int __cdecl CGdiDeviceDriver::FillRect(struct FX_RECT const *,unsigned int,int,void *,int)" (?FillRect@CGdiDeviceDriver@@MEAAHPEBUFX_RECT@@IHPEAXH@Z) 2>fxge.lib(fx_win32_dib.obj) : error LNK2019: unresolved external symbol __imp_CreateDIBitmap referenced in function "public: static struct HBITMAP__ * __cdecl CFX_WindowsDIB::GetDDBitmap(class CFX_DIBitmap const *,struct HDC__ *)" (?GetDDBitmap@CFX_WindowsDIB@@SAPEAUHBITMAP__@@PEBVCFX_DIBitmap@@PEAUHDC__@@@Z) 2>fxge.lib(fx_win32_dib.obj) : error LNK2019: unresolved external symbol __imp_LoadImageW referenced in function "public: static class CFX_DIBitmap * __cdecl CFX_WindowsDIB::LoadDIBitmap(struct WINDIB_Open_Args_)" (?LoadDIBitmap@CFX_WindowsDIB@@SAPEAVCFX_DIBitmap@@UWINDIB_Open_Args_@@@Z) 2>fxge.lib(fx_win32_dwrite.obj) : error LNK2019: unresolved external symbol __imp_GetCurrentObject referenced in function "public: long __cdecl CDwGdiTextRenderer::DrawGlyphRun(struct FX_RECT const &,class CFX_ClipRgn *,struct DWRITE_MATRIX const *,float,float,enum DWRITE_MEASURING_MODE,struct DWRITE_GLYPH_RUN const *,unsigned long const &)" (?DrawGlyphRun@CDwGdiTextRenderer@@QEAAJAEBUFX_RECT@@PEAVCFX_ClipRgn@@PEBUDWRITE_MATRIX@@MMW4DWRITE_MEASURING_MODE@@PEBUDWRITE_GLYPH_RUN@@AEBK@Z) 2>fxge.lib(fx_win32_print.obj) : error LNK2019: unresolved external symbol __imp_GetRegionData referenced in function "public: int __cdecl CPSPrinterDriver::Init(struct HDC__ *,int,int)" (?Init@CPSPrinterDriver@@QEAAHPEAUHDC__@@HH@Z) 2>\build\Debug\pdfium.dll : fatal error LNK1120: 57 unresolved externals ========== Build: 1 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

推荐答案

我下载并构建了 pdfium ,如 github/pvginkel/PdfiumViewer 中所述。我的步骤:

I downloaded and build pdfium as described in github/pvginkel/PdfiumViewer. My steps:

  • 下载 pdfium
  • 生成Visual Studio项目和解决方案
  • 打开解决方案 all.sln
  • c $ c> all.sln ,错误 LNK1112 。我将项目 pdfium 的目标机器更改为 / MACHINE:x86 。现在一切正常,我得到静态库
  • 我将 pdfium 项目类型更改为 dll
  • 将 FPDFSDK_EXPORTS 添加到预处理器定义
  • 添加依赖关系,如 github/pvginkel/PdfiumViewer
  • 我更换工具集到 v120_xp
  • 构建,链接器错误。我将库列表更改为(所有库从 $(OutDir)): kernel32.lib user32 .lib advapi32.lib gdi32.lib winmm.lib $(OutDir)\lib\bigint.lib $(OutDir)\lib \fdrm.lib $(OutDir)\lib \formfiller.lib $(OutDir)\lib\fpdfapi.lib $(OutDir)\lib \ fpdfdoc.lib $(OutDir)\lib\fpdftext.lib $(OutDir)\lib\freetype.lib $(OutDir)\lib\fx_lpng。 lib $(OutDir)\lib \fxcodec.lib $(OutDir)\lib\fxcrt.lib $(OutDir)\lib\fxedit.lib $(OutDir)\lib\fxge.lib $(OutDir)\lib\gmock.lib $(OutDir)\lib\gtest.lib $(OutDir)\lib\gtest_main.lib $(OutDir)\lib\icui18n.lib $(OutDir)\lib\icuuc.lib $ (OutDir)\lib\javascript.lib $(OutDir)\lib\jsapi.lib $(OutDir)\lib\pdfwindow.lib $ )\lib\v8_base_0.lib $(OutDir)\lib\v8_base_1.lib $(OutDir)\lib\v8_base_2.lib $(OutDir)\\ \\ lib \v8_base_3.lib $(OutDir)\lib\v8_libbase.lib $(OutDir)\lib\v8_libplatform.lib $(OutDir)\lib \v8_nosnapshot.lib $(OutDir)\lib\v8_snapshot.lib
  • Buil现在一切OK,我获得动态库(dll)
  • 我下载文件 pdfiumviewer.cpp ,并将其添加到项目
  • 建立,编译错误,找不到头文件
  • 添加 third_party\freetype\include; v8; v8 \include;
  • 编译,编译错误。
  • 在文件 pdfiumviewer.cpp 替换字符串 #include../../ fpdfsdk / include / fpdfview.h到 #include../../public /fpdfview.h
  • Build,现在一切正常,我获得动态库(dll)
  • Download pdfium
  • Generate Visual Studio projects and solution
  • Open solution all.sln
  • Build all.sln, error LNK1112. I change target machine for project pdfium to /MACHINE:x86. Now all is ok, I get static lib
  • I change pdfium project type to dll
  • Add FPDFSDK_EXPORTS to preprocessor definitions
  • Add dependencies as described in github/pvginkel/PdfiumViewer
  • I change toolset to v120_xp
  • Build, linker errors. I change library list to (all libraries from $(OutDir)): kernel32.lib user32.lib advapi32.lib gdi32.lib winmm.lib $(OutDir)\lib\bigint.lib $(OutDir)\lib\fdrm.lib $(OutDir)\lib\formfiller.lib $(OutDir)\lib\fpdfapi.lib $(OutDir)\lib\fpdfdoc.lib $(OutDir)\lib\fpdftext.lib $(OutDir)\lib\freetype.lib $(OutDir)\lib\fx_lpng.lib $(OutDir)\lib\fxcodec.lib $(OutDir)\lib\fxcrt.lib $(OutDir)\lib\fxedit.lib $(OutDir)\lib\fxge.lib $(OutDir)\lib\gmock.lib $(OutDir)\lib\gtest.lib $(OutDir)\lib\gtest_main.lib $(OutDir)\lib\icui18n.lib $(OutDir)\lib\icuuc.lib $(OutDir)\lib\javascript.lib $(OutDir)\lib\jsapi.lib $(OutDir)\lib\pdfwindow.lib $(OutDir)\lib\v8_base_0.lib $(OutDir)\lib\v8_base_1.lib $(OutDir)\lib\v8_base_2.lib $(OutDir)\lib\v8_base_3.lib $(OutDir)\lib\v8_libbase.lib $(OutDir)\lib\v8_libplatform.lib $(OutDir)\lib\v8_nosnapshot.lib $(OutDir)\lib\v8_snapshot.lib
  • Buil, Now all is ok, I get dynamic lib (dll)
  • I download file pdfiumviewer.cpp and add it to project
  • Build, compilation error, no header file found
  • Add third_party\freetype\include;v8;v8\include; to addition include directories
  • Build, compilation error.
  • In file pdfiumviewer.cpp replace string #include "../../fpdfsdk/include/fpdfview.h" to #include "../../public/fpdfview.h"
  • Build, now all is ok, I get dynamic lib (dll)
  • 还有一件事,如果你想要构建 pdfium_test 项目,你需要修复 fpdfview.h file:

    One more thing, if you want build pdfium_test project, you need fix fpdfview.h file:

    #define DLLEXPORT __declspec( dllexport ) #define STDCALL __stdcall #else #define DLLEXPORT #if !defined(_WIN64) // On Windows Win32 (not x64) requires __stdcall convention #define STDCALL __stdcall #else #define STDCALL #endif // !defined(_WIN64) #endif

    对于构建 pdfium_embeddertests ,您只需关闭将警告作为错误处理 ,但我不知道后果。

    For build pdfium_embeddertests you can just turn off Treat warnings as errors option, but I do not know about consequences.

    更多推荐

    在pdfium中创建一个dll

    本文发布于:2023-11-06 22:29:34,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1564848.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:创建一个   pdfium   dll

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!