我正在开发基于Microsoft Toaster KMDF filter driver example的驱动程序。我已添加标题windef.h
,ks.h
,ksmedia.h
,现在我看到以下警告:
警告#1:
\\...\ksmedia.h(732): warning RC4011: identifier truncated to 'STATIC_KSDATAFORMAT_SUBTYPE_WAV'
ksmedia.h的第732行读取:
#if !defined( STATIC_KSDATAFORMAT_SUBTYPE_WAVEFORMATEX )
警告#2:
\\...\ksmedia.h(7795): warning RC4067: unexpected characters following '#endif' directive; newline expected
ksmedia.h的第7795行写道:
#endif _AUDIO_CURVE_TYPE_
即使我有另一个包含头文件的项目(不是KMDF),并且没有显示警告,也会发生这种情况。
你能帮我理解一下这个原因吗?我可以做些什么来删除警告吗?
答案 0 :(得分:1)
根据你的错误,我可以说你直接或间接(通过另一个包括)添加行:
#include <ksmedia.h>
rc 文件中的。当RC(资源编译器)进程ksmedia.h
时,他给出了这个警告和错误。因为ksmedia.h
未设计为由 RC 编译器处理。还包括windows.h
和filter.h
到rc(如示例中)也是错误的意义。如果需要 RC 的某些定义/宏 - 仅包括winres.h