嘗試編譯C++項目時,我收到與CLSID_PropertyChangeArray
的定義相關的錯誤,它是listed on MSDN。我導入了所需的Propsys.h
頭文件,但問題仍然存在。我繼續收到如下消息:未定義CLSID_PropertyChangeArray
propsys.obj : error LNK2001: unresolved external symbol CLSID_PropertyChangeArray
propsys.cpp(610): error C2065: 'CLSID_PropertyChangeArray': undeclared identifier
我這樣做是否錯誤?我不熟悉win32 C++,所以這是一個新手錯誤?
有*不確定*和*懸而未決*符號之間有很大的區別。第一個是編譯器錯誤,第二個是鏈接器錯誤。你正在經歷第二次。 'CLSID'是一個包含多個整數的'struct'。 '.h'文件爲'CLSID_PropertyChangeArray'變量(即'extern const CLSID CLSID_PropertyChangeArray;')聲明一個'extern'語句,但是你需要在項目中添加一個'.lib'文件來定義實際的'CLSID_PropertyChangeArray'變量,或者直接在你的代碼中定義它(例如'const CLSID CLSID_PropertyChangeArray = {...};'),這樣鏈接器就可以找到它。 –