如何安装WDK并运行编译一个工程

如何安装WDK并运行编译一个工程,第1张

1、安装VS2010,安装WDK7.0(DDK)2、新建VC++->EmptyProject3、打开ConfigurationManager并新建世神一个名称为“dirver”的SolutionConfiguration并猜返高将“dirver”设为ActiveSolutionConfiguration.4、打开View->propertyManager。5、在"dirver"solutionconfiguration上点击右键,选择AddnewpropertySheet。取名为“dirverProperty”.并对他进下以下设置。5.1.C\C++-General-DebugInformationFormat=ProgramDatabase(/Zi)5.2.C\C++-Preprocessor-PreprocessorDefinitions=_X86_[addalsoDBGforDebugconfig]【WIN32_DEBUG_X86_i386STD_CALLCONDITION_HANDLINGWIN32_LEAN_AND_MEANNT_UPSRVDBGDBG_IDWBUILD_WIN32_WINNT=0x0400%(PreprocessorDefinitions)】5.3.C\C++-CodeGeneration-EnableC++Exceptions=No5.4.C\C++-CodeGeneration-BasicRuntimeChecks=Default5.5.C\C++-CodeGeneration-BufferSecurityCheck=No(/GS-)5.6.C\C++-Advanced-CallingConvention=__stdcall(/Gz)5.7.C\C++-Advanced-CompileAs=CompileasCCode(/TC)[ifyouaregoingtouseplainC]5.8.Linker-General-OutputFile=$(OutDir)\$(ProjectName).sys5.9.Linker-General-EnableIncrementalLinking=Default5.10.Linker-Input-AdditionalDependencies=ntoskrnl.libhal.lib$(NOINHERIT)[addhereneededlibsheree.g.ntoskrnl.libhal.lib]【不知道上面是不是笔误,应该为:ntoskrnl.libhal.lib%(AdditionalDependencies)】5.11.Linker-Input-IgnoreAllDefaultLibraries=Yes(/NODEFAULTLIB)5.12.Linker-ManifestFile-GenerateManifest=No5.13.Linker-System-SubSystem=Native(/SUBSYSTEM:NATIVE)5.14.Linker-System-Driver=Driver(/DRIVER)5.15.Linker-Advanced-EntryPoint=DriverEntry5.16.Linker-Advanced-BaseAddress=0x100005.17.Linker-Advanced-RandomizedBaseAddress=Disable(/DYNAMICBASE:NO)【这个穗尺也是错误的:应该置空】5.18.Linker-Advanced-DataExecutionPrevention(DEP)=Disable(/NXCOMPAT:NO)【这个也是错误的:应该置空】6.ConfigVC++Directories6.1OpenOpenuppropertymanagerbyclickingonMenuView->PropertyManager.6.2ExpandtheprojectnodeandthentheConfiguration|Platformnodes,youwillsee"Microsoft.cpp..users"fileforeachConfiguration|Platform.Thesearethefilesfortheglobalsettings,similartotheoldtools/Options/VC++Directories.6.3Multi-Select"Microsoft.cpp..users",rightclickandbringupthepropertypagewindow6.4Inthepropertypagewindow,clickon"VC++Directories"(forexample)intheleftpane,addnewpathsforthedirectoriessuchas"IncludeDirectories".separatedbysemicolons(eg:IncludeDirectoriesconfigAs:$(ddkroot)\INC$(ddkroot)\INC\WNET$(ddkroot)\INC\DDK\WNETLibraryDirectoriesconfigAs:$(ddkroot)\LIB\WNET\I386)6.5MakesuretosavethesettingsbeforeshuttingdownVisualStudio.6.6Re-launchVisualStudioandthenewsettingswillbeineffect.6.7Note:Ifyouwouldliketoonlychangethesettingsforoneproject,youcanrightclickontheprojectandbringupthepropertypage.Changethesettingsfor“VC++Directories”,thesesettingswillbepersistedtotheprojectfile.七.OK.Havedone.Nowyoucantestitwithsimplecode,e.g.:#include"ntddk.h"NTSTATUSDriverEntry(PDRIVER_OBJECTDriverObject,PUNICODE_STRINGRegistryPath){returnSTATUS_UNSUCCESSFUL}特别说明:1.VisualStudio2010在智能设备开发方面只支持WindowsPhoneOS7.0。如果你要为WindowsCE5.0和WindowsMobile6.5开发应用程序,请安装VisualStudio2008。2.做驱动开发时,SDK的版本要和WDK的版本一致,即Win7WDK要配Win7SDK,否则会出现编译错误。VS2010里集成了WindowsSDK7.0A。3.如果出现类似如下编译错误,解决方法是:拷贝C:\ProgramFiles(x86)\MicrosoftVisualStudio10.0\VC\include\sal.h,然后覆盖掉C:\WinDDK\7600.16385.1\inc\api\sal.h。C:\ProgramFiles\MicrosoftVisualStudio10.0\VC\include\crtdefs.h(550):errorC2143:syntaxerror:missing')'before'const'C:\ProgramFiles\MicrosoftVisualStudio10.0\VC\include\crtdefs.h(550):errorC2143:syntaxerror:missing'{'before'const'.

这个需要安装WDK插件,Windows 后期的版本主要是通过WDK进行驱动的开发的,祥团具体的环境搭建岩袭可以看我的帖子“WDK 环境搭建”:

http://jingyan.baidu.com/article/e75057f2df3493ebc91a89ab.html

希望对你有用粗宴兄,我是ndk吧吧主,有问题可以ndk吧留言,谢谢!

设置目标或测试计算机是配置计算机以便进行自动驱动程序部署、测试和调试的过程。一个测试和调试环境具有两台计算机:主计算机和目标计算机。目标计算机也称为逗测试计算机地。使用主机上的 Visual Studio 开发和构建驱动程序。调试程序在主机上运行并且位于 Visual Studio 用户界面中。当测试和调试驱动程序时,驱动程序在目标计算机上运行。

主计算机和目标计算机必须能够彼此按名称执行 ping *** 作。如果两台计算机已加入到同一工作组或同一网络域,则此 *** 作可能更容易。如果你的计算机位于工作组中,我们建议你使用路由器(而非集线器或交换机)连接计算机。不支持对虚拟机进行设置。

准备目标计算机以进行设置

在目标计算机上,安装将用于运行和测试驱动程序的 *** 作系统。

如果在 x86 或 x64 目标计算机上启用逗安全启动地,则禁用该功能。

如果目标计算机使用 ARM 处理器,则安装 Windows 调试策略。则无需禁用逗安全启动地。

在目标计算机上,运行与目标计算机平台匹配的 WDK 测试目标安装程序 MSI。可以在 Remote 下的 Windows 驱动程序工具包 (WDK) 安装目录中找到该 MSI。

例如:C:\Program Files (x86)\Windows Kits\10\Remote\x64\WDK Test Target Setup x64-x64_en-us.msi

如果目标计算机运行的是 N 或 KN 版本的 Windows,则安装适用于 N 和 KN 版本的 Windows 的媒体功能包。

如果目标计算机运行的是 Windows Server,请查找刚才通过 WDK 测试目标设置 MSI 创建的 DriverTest 文件夹。(例如:c:\DriverTest)。右键单击逗DriverTest地文件夹,然后选择逗属性地。在逗安全地选项卡上,向逗经过身份验证的用户地组授予逗修改地权限。

验证主机和目标计算机可以彼此执行 ping *** 作。打开命令提示符窗口,并输入 ping 192.186.X.X(ip_adress)。

如果主计算机和目标计算机已加入到一个工作组,但它们位于不同的子网上,你可能必须调整某些防火墙设置,以便主计算机和目标计算机可以通信。请按照下列步骤进行 *** 作:

两种方法(选一即可):

方法一:

在目标计算机上的逗控制面板地中,转到逗网络和 Internet地>逗网络共享中心地。注意你的活动网络。它可能是逗公共网络地、逗私有网络地或逗域地。

在目标计算机上的逗控制面板地中,转到逗系统和安全地>逗Windows 防火墙地>逗高级设置地>逗入站规则地。

在入站规则列表中,查找用于活动网络的所有网络发现规则。(例如,查找所有基薯逗配置文件地为逗专用地的网络发现规则。)双击每个规则,然后打开逗作用域地选项卡。在逗远程 IP 地址地下,选择逗任何 IP 地址地。

在入站规则列表仔枯中,查找用于活动网络的所有逗文件和打印机共享地规则。对于每个规则,双击该规则,将打开逗作用域地选项卡。在逗远程 IP 地址地下,选择逗任何 IP 地址地。

方法二:

逗控制面板地->逗系统和安全地->逗Windows防火墙地->"启动或关闭Windows防火墙"->"关闭Windows防火墙"念锋洞

设置目标计算机

现在,你可以随时在 Visual Studio 中通过主计算机设置目标计算机。

在主计算机上,在 Visual Studio 的逗Driver地菜单中,选择逗Test地>逗Configure Deivce地。

单击逗Add New Device地。

在逗Network host name地中输入目标计算机的名称。选择逗Provision Device and choose debugger setting地。

选择某种调试连接类型,并输入所需的参数。

设置过程将需要几分钟时间,并且可能会自动重新启动目标计算机一到两次。设置完成后,单击逗完成地。

WDK 10 与 Microsoft Visual Studio 完全集成。你可以使用 Visual Studio 开发环境生成驱动程序,也可以使用 Microsoft Build Engine (MSBuild) 直接从命令行生成驱动程序。

从 Windows 驱动程序工具包 (WDK) 8 开始,MSBuild 就已经取代了在早期版本的 WDK 中使用的 Windows 构建实用工具 (Build.exe)。现在,WDK 可使用与你用于构建 Visual Studio 项目相同的编译器和构建工具。使用早期版本的 WDK 构建的驱动程序项目必须进行转换才能在 Visual Studio 环境中工作。你可以从命令行运行转换实用工具,也可以通过从现有的源创建新的 Visual Studio 项目来转换现有驱动程序。

构建驱动程序主要有以下两种方式(选一即可)

方法一:使用 Visual Studio 构建驱动程序

构建驱动程序的方法与在 Visual Studio 中构建任何项目或解决方案的方法相同。当使用 Windows 驱动程序模板创建新的驱动程序项目时,该模板定义默认(活动)的项目配置以及默认(活动)的解决方案生成配置。

注意 你可以将使用 WDK 8 或 Windows 驱动程序工具包 (WDK) 8.1 所创建的项目和解决方案转换为适用于 Windows 驱动程序工具包 (WDK) 10 和 Visual Studio 2015。打开项目或解决方案前,请先运行 ProjectUpgradeTool。ProjectUpgradeTool 将转换项目和解决方案,以便可以使用 WDK 10 构建它们。

1、确保安装在你的计算机上的 SDK 和 WDK 的版本相同。

2、在 Visual Studio 中打开驱动程序项目或解决方案。

3、在逗解决方案资源管理器地中右键单击解决方案,并选择逗配置管理器地。

4、从逗配置管理器地中,选择与你感兴趣的构建类型相对应的活动解决方案配置(例如,逗调试地或逗发布地)以及活动解决方案平台(例如,逗Win32地)。

5、选择要构建驱动程序的目标 *** 作系统。导航到逗驱动程序地>逗常规地中的项目属性,然后设置 TargetVersion 属性。

6、为驱动程序或驱动程序包配置项目属性。 可以为部署、驱动程序签署或其他任务设置属性。

7、从逗构建地菜单中,单击逗构建解决方案地 (Ctrl+Shift+B)。

方法二:

使用命令行构建驱动程序 (MSBuild)

你可以使用逗Visual Studio 命令提示符地窗口和 Microsoft Build Engine (MSBuild) 来从命令行构建驱动程序。

使用逗Visual Studio 命令提示符地窗口构建驱动程序

打开逗适用于 VS2015 的开发人员命令提示符地窗口。

在此窗口中,你可以借助 MSBuild.exe,通过指定项目 (.VcxProj) 或解决方案 (.Sln) 文件来构建任何 Visual Studio 项目。

导航到项目目录并为你的目标输入 MSbuild 命令。

例如,若要使用默认的平台和配置生成名为 MyDriver.vcxproj 的全新的 Visual Studio 驱动程序项目,请导航到项目目录并输入以下 MSBuild 命令:

msbuild /t:clean /t:build .\MyDriver.vcxproj

语法 - 若要指定特定的配置和平台,请使用以下命令语法:

msbuild /t:clean /t:build ProjectFile /p:Configuration=<Debug|Release>/p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS

例如,以下命令将为逗调试地配置、逗Win32地平台和 Windows 10 生成一个通用 Windows 驱动程序。

msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion=地Windows10地 /p:TargetPlatformVersion=地10.0.10010.0地

逗TargetPlatformVersion地设置为可选项,并且允许你指定用于生成的工具包版本。默认值为使用最新的工具包。

使用 Visual Studio 中的选项增加构建输出详细信息的步骤

1、单击 Tools > Options。

2、单击逗项目和解决方案地文件夹并单击逗生成并运行地。

3、更改逗MSBuild 项目构建输出详细信息地和逗MSBuild 项目构建日志文件详细信息地。 默认情况下,这些都设置为逗最少地。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12508129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存