12

Ho scritto un porgram con alcune finestre di dialogo standard in un progetto SDI (Doc/View enabled).Errore di Visual Studio Building: simbolo esterno non risolto _IID_IWICImagingFactory (MFC static MFC)

Ora che voglio inviarlo ad alcuni amici ho impostato il Use of MFCUse MFC in a static library.

Ma quando provo a creare la soluzione ottengo il seguente errore:

error LNK2001: unresolved external symbol _IID_IWICImagingFactory

Il mio problema è, che Io non so cosa esattamente questa interfaccia id è, perché non ho scritto alcun codice per COM manualmente o tramite qualsiasi cose immagine di fabbrica o uguale ...

Im un po 'perso atm ...

maggio qualcuno mi dica come risolvere questo e farlo funzionare con l'uso MFC statica?

Grazie in anticipo!

+9

Difficile indovinare cosa potrebbe avere a che fare questo errore del linker con MFC. Tuttavia, Project + Properties, Linker, Input. Dipendenze aggiuntive, aggiungere "windowscodecs.lib" –

+0

Vedere una discussione correlata qui: http://social.msdn.microsoft.com/Forums/vstudio/en-US/c9827214-c2d9-4261-a384-5b183917bf97/after-installing- vs-2010-sp1-im-getting-nafxcwdlibafxglobalsobj-error-lnk2001-non risolto –

risposta

3

IWICImagingFactory è definito in wincodec.idl

  • Individuare e aggiungere wincodec.idl al progetto MFC
  • ricostruire e sugli istituti compilatore genererà wincodec_i.c e wincodec_i.h
  • wincodec_i. * i file contengono la dichiarazione e la definizione o f _IID_IWICImagingFactory
25

C'è anche un lib di file:

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

+1

Il percorso su x64 è C: \ Programmi (x86) \ Microsoft SDK \ Windows \ v7.0A \ Lib \ windowscodecs.lib –

+0

Ho dovuto assicurarsi che windowscodecs.lib sia stato effettivamente aggiunto al percorso lib del linker per superare questo problema –

0

Questo wasn è il mio problema esatto (diverso .idl), ma lo stesso errore del linker. Google ha trovato la tua domanda comunque. Ho copiato il file IDL fuori in una nuova directory, ha lanciato una linea di comando VS, ed eseguito questo:

midl thefile.idl 

Dopo ha fatto il mio file .c, ho solo copiato il const per l'IID di cui avevo bisogno, e buttato via il resto

Problemi correlati