【问题标题】:Compilation warnings in driver after including ksmedia.h包含 ksmedia.h 后驱动程序中的编译警告
【发布时间】:2018-04-17 12:04:04
【问题描述】:

我正在开发基于 Microsoft 的 Toaster KMDF filter driver example 的驱动程序。我已包含标题 windef.hks.hksmedia.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)也会发生这种情况。

你能帮我理解一下这个原因吗?我可以做些什么来消除警告吗?

【问题讨论】:

  • 您能否包含ksmedia.h 的第732 和7795 行?
  • 可能这个头文件与当前环境/ddk不兼容。
  • @DevSolar imgur.com/a/XPAvD
  • 为什么要用rc编译器编译c++代码?
  • @Paul:在问题本身作为文本中包含相关代码和消息比外部图片链接(或包含的图片)更受欢迎。

标签: c++ winapi driver kmdf


【解决方案1】:

根据您的错误,我可以说您直接或间接(通过另一个包含)添加行:

#include <ksmedia.h>

rc 文件中。当 RC(资源编译器)处理 ksmedia.h 时,他给出了这个警告和错误。因为ksmedia.h 并非设计为由RC 编译器处理。还包括 windows.hfilter.h 到 rc (如示例中)也有错误。如果需要 RC 的一些定义/宏 - 仅包括 winres.h

【讨论】:

    猜你喜欢
    • 2020-03-30
    • 1970-01-01
    • 2016-06-30
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多