Visual studio Visual Studio 2019、CMake、驱动程序和叮当声。部署?

Visual studio Visual Studio 2019、CMake、驱动程序和叮当声。部署?,visual-studio,cmake,kernel,clang,Visual Studio,Cmake,Kernel,Clang,Old project使用VS2019、MSVC和标准visual studio项目文件编译内核驱动程序,然后我可以点击F5将驱动程序部署到运行相同版本Windows的第二个VM,以测试我的代码并进行调试 重新启动端口,以便更好地适应上游。我想尝试使用clang(VisualStudioInstaller,TickClang支持)和CMakelists.txt。(我打开包含Cmakelists.txt的文件夹)。上游的情况会更容易 我让它用clang编译.SYS文件(intrin.h需要一些处理

Old project使用VS2019、MSVC和标准visual studio项目文件编译内核驱动程序,然后我可以点击F5将驱动程序部署到运行相同版本Windows的第二个VM,以测试我的代码并进行调试

重新启动端口,以便更好地适应上游。我想尝试使用clang(VisualStudioInstaller,TickClang支持)和CMakelists.txt。(我打开包含Cmakelists.txt的文件夹)。上游的情况会更容易

我让它用clang编译.SYS文件(intrin.h需要一些处理),但听说驱动程序不能用clang编译?是/否

(但作为一种解决方法,我可以用clang将大部分代码编译成.lib,然后用MSVC++完成)


无论哪种方式,都有可能让VisualStudio使用CMake“部署”到第二个VM并进行调试吗?如果没有,我是否可以用生成的二进制.sys文件创建一个精益项目文件来解决这个问题?

在进行此讨论时,应该没有理由不使用clang cl/clang编译UMDs(用户模式驱动程序)

然而,我不相信你能用铿锵编译内核模式的驱动程序

使之成为可能的主标志是“/DRIVER”:

而clang cl还不支持这一点:


P>也许考虑从ClangCL?< /P> AFAIK提交一个票/驱动程序支持,驱动程序不能仅用MSVC用Clon编译。是的,似乎是这样。所以,如果我运行:``cmake-DCMAKE\u BUILD\u TYPE=x64 Debug-G“Visual Studio 16”-A x64-B contrib/windows-T ClangCL-DCMAKE\u COMPILER=“C:/Program Files/LLVM/bin/clang-cl.exe”-DCMAKE\u CXX\u COMPILER=“C:/Program Files/LLVM/bin/clang-cl.exe”``cmake将吐出项目文件,我可以使用VC进行部署和调试。我想我拿工具的方式不对。现在,我希望我可以为wdk_add_库选择clang cl,然后使用MSVC编译
driver.c
并链接库。应该让我了解一下丢失的驱动程序功能