在pdfium中创建一个dll [英] Creating a dll in pdfium

查看:1773
本文介绍了在pdfium中创建一个dll的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图为 pdfium 创建一个dll。我使用Visual Studio 2013(C ++)
我试过按照 https://github.com的说明操作/ 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 https://github.com/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 ,如 https://github.com/pvginkel/PdfiumViewer 中所述。我的步骤:

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


  1. 下载 pdfium

  2. 生成Visual Studio项目和解决方案

  3. 打开解决方案 all.sln

  4. c $ c> all.sln ,错误 LNK1112 。我将项目 pdfium 的目标机器更改为 / MACHINE:x86 。现在一切正常,我得到静态库

  5. 我将 pdfium 项目类型更改为 dll

  6. FPDFSDK_EXPORTS 添加到预处理器定义

  7. 添加依赖关系,如 https://github.com/pvginkel/PdfiumViewer

  8. 我更换工具集到 v120_xp

  9. 构建,链接器错误。我将库列表更改为(所有库从 $(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

  10. Buil现在一切OK,我获得动态库(dll)

  11. 我下载文件 pdfiumviewer.cpp ,并将其添加到项目

  12. 建立,编译错误,找不到头文件

  13. 添加 third_party\freetype\include; v8; v8 \include; 添加包含目录

  14. 编译,编译错误。

  15. 在文件 pdfiumviewer.cpp 替换字符串 #include../../ fpdfsdk / include / fpdfview.h #include../../public /fpdfview.h

  16. Build,现在一切正常,我获得动态库(dll)

  1. Download pdfium
  2. Generate Visual Studio projects and solution
  3. Open solution all.sln
  4. Build all.sln, error LNK1112. I change target machine for project pdfium to /MACHINE:x86. Now all is ok, I get static lib
  5. I change pdfium project type to dll
  6. Add FPDFSDK_EXPORTS to preprocessor definitions
  7. Add dependencies as described in https://github.com/pvginkel/PdfiumViewer
  8. I change toolset to v120_xp
  9. 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
  10. Buil, Now all is ok, I get dynamic lib (dll)
  11. I download file pdfiumviewer.cpp and add it to project
  12. Build, compilation error, no header file found
  13. Add third_party\freetype\include;v8;v8\include; to addition include directories
  14. Build, compilation error.
  15. In file pdfiumviewer.cpp replace string #include "../../fpdfsdk/include/fpdfview.h" to #include "../../public/fpdfview.h"
  16. 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆