WICConvertBitmapSource()给出了链接错误

时间:2015-03-13 02:20:21

标签: c++ wic

我试图使用WIC对图像进行编码。 我制作了简单的dll(进行编码/解码)并将其从另一个应用程序中解析出来。

我添加了my_bitmap_converter()来执行旨在使用WICConvertBitmapSource()的转换,但它给了我链接错误。这是我的工作

int my_bitmap_converter
(
    REFWICPixelFormatGUID dstPixelFormt, 
    IWICBitmapSource* piBitmapSource, 
    IWICBitmapSource** ppiBitmapDst
)
{
    IWICBitmapSource* piScr = piBitmapSource;
    IWICBitmapSource** ppiDst = ppiBitmapDst;

    hr = WICConvertBitmapSource
        (
        dstPixelFormt,//GUID_WICPixelFormat128bppPRGBAFloat, 
        piScr,
        ppiDst
        );
    if (SUCCEEDED(hr))
    {
        piScr->Release();
        return 0;
    }
    return -1;
}

我怎样才能摆脱这个错误

  

错误1错误LNK2019:未解析的外部符号   _WICConvertBitmapSource @ 12在函数“int __cdecl my_bitmap_converter中引用(struct _GUID const&,struct IWICBitmapSource)   *,struct IWICBitmapSource * *)“(?my_bitmap_converter @@ YAHABU_GUID @@ PAUIWICBitmapSource @@ PAPAU2 @@ Z)

--- --- wincodec.h

HRESULT WINAPI WICConvertBitmapSource(
     _In_ REFWICPixelFormatGUID dstFormat, // Destination pixel format
     _In_reads_(1) IWICBitmapSource  *pISrc,    // Source bitmap
     _Outptr_result_buffer_(1) IWICBitmapSource **ppIDst   // Destination bitmap, a copy or addrefed source
     );

1 个答案:

答案 0 :(得分:2)

如果您提到here,您可能会意识到"链接库名称是" windowscodecs.lib"而不是" wincodec.lib"在Windows SDK 7.0"

也许您使用的是SDK 7.0或更高版本。如果是,请尝试添加windowscodecs.lib作为附加依赖项。