
Vs2010配置驱动开发环境.doc
7页1、安装 VS2010,安装 WDK 7.0(DDK);2、新建 VC++->Empty Project3、打开 Configuration Manager 并新建一个名称为 “ dirver ”的Solution Config uration 并将“dirver” 设为 Active Solution Configuration .4、打开 View-> property Manager5、在"dirver" solution configuration 上点击右键,选择Add new property Sheet取名为“dirverPr operty”. 并对他进下以下设置5.1. C\C++ - General - Debug Information Format = Program Database (/Zi)5.2. C\C++ - Preprocessor - Preprocessor Definitions = _X86_ [add also DBG for Debug config]【WIN32;_DEBUG;_X86_;i3 86;STD_CALL;CONDITION_HANDLING;WIN32_LEAN_AND_MEAN;NT_UP;SRVDBG;DBG;_IDWBUILD;_WIN32_WINNT=0x0400;% (PreprocessorDefinitions)】5.3. C\C++ - Code Generation - Enable C++ Exceptions = No5.4. C\C++ - Code Generation - Basic Runtime Checks = Default5.5. C\C++ - Code Generation - Buffer Security Check = No (/GS-)5.6. C\C++ - Advanced - Calling Convention = __stdcall (/Gz)5.7. C\C++ - Advanced - Compile As = Compile as C Code (/TC) [if you are going to use plain C]5.8. Linker - General - Output File = $(OutDir)\$(ProjectName).sys5.9. Linker - General - Enable Incremental Linking = Default5.10. Linker - Input - Additional Dependencies = ntoskrnl.lib hal.lib $(NOINHERIT) [add here needed libs here e.g. ntoskrnl.lib hal.lib]【不知道上面是不是笔误,应该为:ntoskrnl.lib;hal.lib; %(AdditionalDependencies)】5.11. Linker - Input - Ignore All Default Libraries = Yes (/NODEFAULTLIB)5.12. Linker - Manifest File - Generate Manifest = No5.13. Linker - System - SubSystem = Native (/SUBSYSTEM:NATIVE)5.14. Linker - System - Driver = Driver (/DRIVER)5.15. Linker - Advanced - Entry Point = DriverEntry5.16. Linker - Advanced - Base Address = 0x100005.17. Linker - Advanced - Randomized Base Address = Disable (/DYNAMICBASE:NO)【这个也是错误的:应该置空】5.18. Linker - Advanced - Data Execution Prevention (DEP) = Disable (/NXCOMPAT:NO)【这个也是错误的:应该置空】6. Config VC++ Directories6.1 Open Open up property manager by clicking on Menu View->Property Manager.6.2 Expand the project node and then the Configuration|Platform nodes, you will see "Microsoft.cpp..users" file for each Configuration|Platform. These are the files for the global settings, similar to the old tools/Options/VC++ Directories.6.3 Multi-Select "Microsoft.cpp..users", right click and bring up the property page window6.4 In the property page window, click on "VC++ Directories" (for example) in the left pane, add new paths for the directories such as "Include Directories". separated by semicolons(eg:Include Directories config As:$(ddkroot)\INC$(ddkroot)\INC\WNET$(ddkroot)\INC\DDK\WNETLibrary Directories config As:$(ddkroot)\LIB\WNET\I386)6.5 Make sure to save the settings before shutting down Visual Studio.6.6 Re-launch Visual Studio and the new settings will be in effect.6.7 Note: If you would like to only change the settings for one project, you can right click on the project and bring up the property page. Change the settings for “VC++ Directories”, these settings will be persisted to the project file.七. OK. Have done. Now you can test it with simple code, e.g.:#include "ntddk.h"NTSTATUSDriverEntry(PDRIVER_OBJECT DriverObject,PUNICODE_STRING RegistryPath){return STATUS_UNSUCCESSFUL;}特别说明:1.Visual Studio 2010 在智能设备开发方面只支持Windows Phone O S 7.0。
如果你要为 Windows CE 5.0和 Windows Mobile 6.5 开发应用程序,请安装 Visual Studio 20082.做驱动开发时,SDK 的版本要和 WDK 的版本一致,即 Win7 WDK 要配 Win7 SDK,否则会出现编译错误VS2010 里集成了Windo ws SDK 7.0A3. 如果出现类似如下编译错误,解决方法是:拷贝 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\sal.h,然后覆盖掉C:\WinDDK\7600.16385.1\inc\api\sal.hC:\Program Files\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2143: syntax error : missing ')' before 'const'C:\Program Files\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2143: syntax error : missing '{' before 'const'C:\Program Files\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2059: syntax error : ','C:\Program Files\Microsoft Visual Studio 10.0\VC\include\crtdefs.h(550): error C2059: syntax error : ')'C:\Program Files\Microsoft Visual Studio 10.0\VC\include\excpt.h(56): error C2143: syntax error : missing ')' before 'type'C:\Program Files\Microsoft Visual Studio 10.0\VC\include\excpt.h(56): error C2085: '_ExceptionRecord' : not in formal parameter listC:\Program Files\Microsoft Visual Studio 10.0\VC\include\excpt.h(57): error C2143: syntax error : missing ';' before 'type'C:\Program Files\Microsoft Visual Studio 10.0\VC\include\excpt.h(57): error C2085: '_EstablisherFrame' : not in formal parameter listC:\Program Files\Microsoft Visual Studio 10.0\VC\include\excpt.h(58): error C2085: '_Inout_' : not in formal parameter listC:\Program Files\Microsoft Visual Studio 10.0\VC\include\excpt.h(58): error C2143: syntax error : missing ';' before 'type'C:\Program Files\Microsoft Visual Studio 10.0\VC\include\excpt.h(58): error C2085: '_ContextRecord' : not in formal parameter listC:\Program Files\Microsoft Visual Studio 10.0\VC\include\excpt.h(59): error C2085: '_Inout_' : not in formal parameter listC:\Program Files\Microsoft Visual Stud。
