标签: windows-arm64

如何在 ARM64 系统上原生构建适用于 ARM64 的 Windows 11 设备驱动程序?

如何在 ARM64 系统上原生构建适用于 ARM64 的 Windows 11 设备驱动程序?

使用:

  • ARM64 虚拟机上的 Windows 11 21H2(主机:MacBook M1)
  • 视觉工作室17.5.2
  • Windows 驱动程序工具包 10.0.22621.382

我有一个适用于 Windows 11 的简单 WDM 驱动程序。

  • 它在 Windows 11 x64 计算机上原生构建并适用于 x64。
  • 它在 Windows 11 x64 上针对目标 ARM64 进行交叉编译。当在 ARM64 机器上移动生成的二进制文件时,它可以工作。
  • 但是,在 ARM64 系统上本地构建驱动程序会失败。

在 ARM64 上构建相关的用户态应用程序。只有驱动程序无法构建。

构建错误消息是

1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(442,5):
error MSB8020: The build tools for WindowsKernelModeDriver10.0 (Platform Toolset = 'WindowsKernelModeDriver10.0') cannot be found.
To build using the WindowsKernelModeDriver10.0 build tools, please install WindowsKernelModeDriver10.0 build tools.
Alternatively, you may …
Run Code Online (Sandbox Code Playgroud)

wdk device-driver windows-arm64

5
推荐指数
1
解决办法
937
查看次数

Arm64 架构中每个“Program Files”文件夹的用途是什么?

尝试重新构建一个应用程序,但针对 Arm64 并制作一个正确的安装程序。有3个Program Files文件夹:

  • C:\Program Files\
  • C:\Program Files (Arm)\
  • C:\Program Files (x86)\

每个文件夹的用途是什么?为 Arm64 处理器架构构建的应用程序应该安装在哪里?

为了供将来参考,这里是环境变量。

CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(Arm)=C:\Program Files (Arm)\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(Arm)=C:\Program Files (Arm)
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
Run Code Online (Sandbox Code Playgroud)

windows windows-installer windows-arm64

2
推荐指数
1
解决办法
1053
查看次数