當我建立我的Visual C++解決方案(2005年),我得到以下警告如何刪除'ImageList_Read':不一致的dll連接警告?
1> C:\ WINDDK \ 7000.0.winmain_win7beta.081212-1400 \ INC \ API \ commctrl.h(678):見前面\ XML解析\發展\ GUI \ħ\ wtl4mfc.h(6)::警告C4273: 'ImageList_Write': 'ImageList_Read'
1>電子商務定義不一致的DLL聯動
1> C:\ WINDDK \ 7000.0.winmain_win7beta.081212-1400 \ inc \ api \ commctrl.h(679):參見'ImageList_Write'的先前定義
1> e:\ xml parse \ development \ gui \ h \ wt l4mfc.h(8):警告C4273:'ImageList_ReadEx':不一致的dll連接
1> c:\ winddk \ 7000.0.winmain_win7beta.081212-1400 \ inc \ api \ commctrl.h(686):請參閱上一個定義\ XML解析\發展\ GUI \ħ\ wtl4mfc.h(9)::警告C4273: 'ImageList_WriteEx':不一致的dll聯動
1> C:\ WINDDK \ 'ImageList_ReadEx'
1>電子商務(687):看到'ImageList_WriteEx'的先前定義
當我檢查這兩個文件時,我可以看到以下內容:
****在wtl4mfc.h ****
的extern 「C」 { HIMAGELIST WINAPI ImageList_Read(LPSTREAM PSTM); BOOL WINAPI ImageList_Write(HIMAGELIST himl,LPSTREAM pstm); HRESULT WINAPI ImageList_ReadEx(DWORD dwFlags,LPSTREAM pstm,REFIID riid,PVOID * ppv);以及其中, HRESULT WINAPI ImageList_WriteEx(HIMAGELIST himl,DWORD dwFlags,LPSTREAM pstm);
#endif };
在commctrl.h文件I可以看到如下:
WINCOMMCTRLAPI HIMAGELIST WINAPI ImageList_Read(__在結構的IStream * PSTM); WINCOMMCTRLAPI BOOL WINAPI ImageList_Write(__ in HIMAGELIST himl,__in struct IStream * pstm);
我是Visual C++的初學者,這是來自我可以維護的代碼。我怎樣才能刪除這些警告?如果在安裝較低版本的Winddk的情況下構建代碼,則不會顯示這些警告。
什麼是造成這些警告?我怎樣才能刪除它們?
WINCOMMCTRLAPI擴展爲DECLSPEC_IMPORT。 我更改了項目設置,並從附加包含目錄中刪除了winddk路徑。警告消失了。謝謝 – Techiegirl 2010-08-27 11:52:47