IID_ID3DXEffectStateManager链接错误
很奇怪明明链接了lib文件,仍然报错。查找报错的iid发现使用宏DEFINE_GUID,在查找宏,发现
#ifdef INITGUID
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
EXTERN_C const GUID DECLSPEC_SELECTANY name \
= { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }
#else
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
EXTERN_C const GUID FAR name
#endif // INITGUID
原来是INITGUID的问题,需要在特定的地方自己手动引用头文件#include <InitGuid.h>。
注意头文件的位置!