2011-11-07 100 views
12

我在SDI(啓用Doc/View)項目中編寫了一個包含幾個標準對話框的porgram。visual studio building error:無法解析的外部符號_IID_IWICImagingFactory(MFC靜態庫)

現在我想將它發送給一些朋友,我設置了Use of MFCUse MFC in a static library

但是,當我嘗試建立的解決方案,我得到以下錯誤:

error LNK2001: unresolved external symbol _IID_IWICImagingFactory

我的問題是,我不知道到底該接口ID是什麼,因爲我沒有寫任何代碼COM手動或使用任何圖像工廠的事情或等於...

我是個有點失落ATM ...

五月誰能告訴我如何解決這一點,並使其與靜態MFC使用工作?

在此先感謝!

+9

很難猜測此鏈接器錯誤可能與MFC有關。儘管如此,Project + Properties,Linker,Input。其他依賴項,請添加「windowscodecs.lib」 –

+0

請參閱此處的相關討論:http://social.msdn.microsoft.com/Forums/vstudio/en-US/c9827214-c2d9-4261-a384-5b183917bf97/after-installing- vs-2010-sp1-im-getting-nafxcwdlibafxglobalsobj-error-lnk2001-unresolved –

回答

3

IWICImagingFactory在wincodec.idl定義

  • 找到並添加wincodec.idl到MFC項目
  • 重建和MIDL編譯器將生成wincodec_i.cwincodec_i.h
  • wincodec_i。*文件包含聲明和定義o ˚F_IID_IWICImagingFactory
25

還有一個的.lib文件

C:\ Program Files文件\微軟的SDK \的Windows \ v7.0A \ LIB \ windowscodecs.lib

+1

x64上的路徑是C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Lib \ windowscodecs.lib –

+0

我不得不確保將windowscodecs.lib實際添加到鏈接器庫路徑中以解決此問題 –

0

這WASN我確切的問題(不同的.idl),但同樣的鏈接器錯誤。谷歌無論如何發現你的問題。我複製.idl文件出來一個新的目錄,推出了VS命令行,然後運行這個:

midl thefile.idl 

後,它使我的.c文件,我只是複製了我所需要的IID的常量,和把剩下的扔掉。

相關問題