我试图使用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
);
答案 0 :(得分:2)
如果您提到here,您可能会意识到"链接库名称是" windowscodecs.lib"而不是" wincodec.lib"在Windows SDK 7.0"
中也许您使用的是SDK 7.0或更高版本。如果是,请尝试添加windowscodecs.lib作为附加依赖项。