尝试编译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 = {...};'),这样链接器就可以找到它。 –