【问题标题】:WICConvertBitmapSource() gives link errorWICConvertBitmapSource() 给出链接错误
【发布时间】:2015-03-13 02:20:20
【问题描述】:

我试图使用 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
     );

【问题讨论】:

    标签: c++ wic


    【解决方案1】:

    如果您引用了here,您可能会意识到“链接库名称是“windowscodecs.lib”,而不是 Windows SDK 7.0 中的“wincodec.lib””

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

    【讨论】:

    • 你用的是什么版本。
    • 我已经安装了几个版本(6 到 8),但根据 regedit,当前版本是 6。但我还是包含了 windowscodecs.lib。当我在上面的另一个函数中调用该函数时停止错误再次出现。
    猜你喜欢
    • 2012-10-05
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    • 2013-06-29
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多