12

me escribió una porgram con unos diálogos estándar en una IDE (Doc/Vista habilitado) proyecto.visual de error edificio del estudio: símbolo externo sin resolver _IID_IWICImagingFactory (MFC lib estática)

Ahora que quiero enviarlo a algunos amigos, configuré el Use of MFCUse MFC in a static library.

Pero cuando intento de construir la solución me sale el siguiente error:

error LNK2001: unresolved external symbol _IID_IWICImagingFactory

Mi problema es que yo no sé qué es exactamente este id interfaz es, porque yo no he escrito ningún código de COM manualmente o utilizando cualquier cosas fábrica de imágenes o igual ...

Im un poco perdido atm ...

mayo de alguien decirme cómo solucionar esto y hacer que funcione con el uso de MFC estática?

¡Gracias de antemano!

+9

Es difícil adivinar qué podría tener este error de vinculador con MFC. Sin embargo, Project + Properties, Linker, Input. Dependencias adicionales, añadir "windowscodecs.lib" –

+0

Ver una discusión relacionada aquí: http://social.msdn.microsoft.com/Forums/vstudio/en-US/c9827214-c2d9-4261-a384-5b183917bf97/after-installing- vS-2010-SP1-im-conseguir-nafxcwdlibafxglobalsobj de error de LNK2001 sin resolver- –

Respuesta

3

IWICImagingFactory se define en wincodec.idl

  • Localizar y añadir wincodec.idl a su proyecto MFC
  • reconstruir y compilador MIDL generará wincodec_i.c y wincodec_i.h
  • wincodec_i. * archivos contienen la declaración y definición o f _IID_IWICImagingFactory
25

También hay un .lib archivo:

C: \ Archivos de programa \ Microsoft SDKs \ Windows \ v7.0A \ Lib \ windowscodecs.lib

+1

La trayectoria en x64 es C: \ archivos de programa (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Lib \ windowscodecs.lib –

+0

que tenía que Asegúrese de que windowscodecs.lib en realidad se haya agregado a la ruta de acceso de lib del enlazador para superar este problema –

0

Este wasn mi problema exacto (diferente .idl), pero el mismo error de enlazador. Google encontró su pregunta de todos modos. He copiado el archivo .idl a un nuevo directorio, puso en marcha una línea de comandos VS, y encontré esto:

midl thefile.idl 

Después de que hizo que mi archivo .c, que acaba de copiar la const para el IID que necesitaba, y tiró el resto.

Cuestiones relacionadas