visual studio building error:未解析的外部符号_IID_IWICImagingFactory(MFC static lib)

时间:2011-11-07 22:34:58

标签: c++ visual-studio visual-studio-2010 mfc unresolved-external

我在SDI(支持文档/视图)项目中写了几个标准对话框。

现在我想将它发送给一些朋友,我确实设置了Use of MFC Use MFC in a static library

但是当我尝试构建解决方案时,我收到以下错误:

  

错误LNK2001:未解析的外部符号_IID_IWICImagingFactory

我的问题是,我不知道这个接口ID是什么,因为我没有手动编写任何代码或使用任何图像工厂的东西或等于...

我有点迷失了...

任何人都可以告诉我如何解决这个问题并使其与静态MFC使用一起工作吗?

提前致谢!

3 个答案:

答案 0 :(得分:25)

还有一个 .lib 文件:

C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Lib \ windowscodecs.lib

答案 1 :(得分:3)

IWICImagingFactory在 wincodec.idl

中定义
  • 找到 wincodec.idl 并将其添加到您的MFC项目
  • 重建和MIDL编译器将生成 wincodec_i.c wincodec_i.h
  • wincodec_i。* 文件包含_IID_IWICImagingFactory的声明和定义

答案 2 :(得分:0)

这不是我的确切问题(不同的.idl),但是链接器错误相同。 Google无论如何都找到了你的问题。我将.idl文件复制到一个新目录,启动了一个VS命令行,并运行了这个:

midl thefile.idl

在我创建.c文件后,我只是复制了我需要的IID的const,然后扔掉了其余的。