我正在基于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),也会发生这种情况。
您能帮我了解原因吗?我可以采取一些措施消除警告吗?
最佳答案
根据您的错误,我可以说您直接或间接(通过另一个包含)添加行:
#include <ksmedia.h>
在rc文件中。当RC(资源编译器)处理
ksmedia.h
时,他会给出确切的警告和错误。因为ksmedia.h
并非旨在由RC编译器处理。也将windows.h
和filter.h
包含到rc中(例如,示例)在意义上也是错误的。如果需要RC的一些定义/宏-仅包含winres.h