You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VS2019 KMDF模板开发Win10 x64内核驱动遇_fltused链接错误

修复KMDF驱动编译时_fltused符号链接错误的方案

问题分析

_fltused是编译器标记浮点支持的符号,内核驱动默认不需要浮点操作,出现这类错误通常是项目设置或代码中意外引入了浮点相关的编译选项/代码逻辑。

具体修复步骤

  • 调整项目编译选项
    打开项目属性,依次进入配置属性 -> C/C++ -> 代码生成:

    • 将浮点模型设置为无(对应选项(/fp:no))
    • 确认启用增强指令集设置为未设置或SSE2(内核模式下避免使用更高级的浮点指令集)
  • 排查并清理浮点相关代码
    检查所有源文件(如Driver.c、Moufilter.c),移除直接使用浮点类型(float/double)或浮点函数(sqrt/sin等)的代码。如果必须使用浮点运算,需在单个源文件(比如Driver.c)开头添加以下代码,确保_fltused只定义一次:

    #ifdef _MSC_VER
    #pragma function(_fltused)
    __declspec(selectany) extern int _fltused = 0;
    #endif
    
  • 清理并重新生成项目
    执行生成 -> 清理解决方案,再切换到x64 Release配置,执行生成 -> 生成解决方案。

  • 验证项目模板配置一致性
    对比之前正常编译的KMDF项目,确认当前项目配置属性 -> 链接器 -> 输入中的附加依赖项无多余浮点相关库,且项目正确继承了KMDF模板的默认设置。


内容的提问来源于stack exchange,提问作者IgnoreExeption

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 02:23:13