Re: Win DDK 3790 cannot compile with VS 6.0, but linking error with VS. NET

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Linda Yang (hyang_at_signalogic.com)
Date: 02/06/04


Date: Fri, 06 Feb 2004 02:20:02 GMT

Mark,

Thanks for the DDKBuild utility. I am trying out your DDKbuild utility.
  I guess I was spoiled by visual studio where I can put Preprocessor
Definition in the project properties. I have a few defines in there
that I need for compilation because this cold runs on several platforms.
  How do I do create these defines?

Same question also applies even with DDK build.exe utility, how do I do
preprocessor defines.

Linda

Mark Roddy wrote:
> On Wed, 04 Feb 2004 00:52:07 GMT, Linda Yang <hyang@signalogic.com>
> wrote:
>
>
>>Gary G. Little wrote:
>>
>>
>>>You should have the latest DDK installed. That includes the "blessed"
>>>compiler and tools for driver development. You will have wither manually set
>>>your executable paths in Visual Studio to the path of the WinDDK 3790
>>>compiler, or download DDKBUILD and change your VS build lines to use
>>>DDKBUILD. The latter is by far the least painful and the recommended route.
>>>
>>
>>Thanks for replying. I did some more research. I found this paragraph
>>in MSDN with an article titled New in the DDK for Windows XP:
>>
>>"A number of important changes have been made to the Windows DDK build
>>environment. For one, the Windows DDK now includes a complete set of
>>tools for building drivers. Microsoft® Visual C++® is no longer required
>>to be installed to use the DDK. Use of the included tools for all
>>Windows 2000 and Windows XP drivers is expected within the shipping
>>build environment. This version of the Windows DDK does not support
>>building Windows XP or Windows 2000 drivers using a version of Microsoft
>>Visual C++ earlier than the one supplied with the DDK. Attempts to use
>>an incorrect version of Visual C++ will result in the following error
>>message from the compiler:
>>
>>error C1189: #error : Compiler version not supported by Windows DDK
>>This requirement is due to the reliance on many new features within this
>>tool set for proper functioning of the include build environment. The
>>compiler, linker, and supporting files, such as C Run-Times (CRTs),
>>should be considered an atomic unit within the build environment. It is
>>likely that mixing the supporting tool files of Visual C++ versions 5 or
>>6 with those in this DDK release, which are based on the new Visual C++
>>version 7 code base, will result in errors in the binaries. Using the
>>provided build environment and build tools is thus strongly recommended
>>to ensure generation of valid binaries."
>>
>>It's unfortunate that Microsoft no longer allow you to use Visual Studio
>>to build the device drivers, at least they try to make it difficult. I
>>had all my projects set up to compile under Visual Studio, I will make
>>an attempt to change my VS build lines. Since I have never done this
>>before, should I change it in the project file where: CPP=cl.exe to
>>build.exe or do it in the custom build. What about the linker?
>>
>>Thanks again for the pointers.
>>
>>Linda
>>
>
> Microsoft did not intentionally set out to make it impossible to use
> Visual Studio, why would they do that? VS is a huge revenue stream for
> them. What they set out to do was to distribute, with each release of
> the ddk, the complete (well almost complete) set of compilation tools
> qualified to correctly build drivers. This is a huge improvement over
> the previous situation, which had developers world-wide using 'some
> version or other' of 'some compiler or other' to generate something
> that might be more or less binary compatible with the target OS
> execution environment.
>
> You can still use the VS6 or VS7 IDE. You can fix up your current
> projects, which it seems directly invoke the compilation tools, or you
> can use the method that I (and probably others as well) developed
> years ago to address the no IDE support issue, referred to by Mr.
> Little as the DDKBUILD method. See my website for detailed
> instructions www.hollistech.com and free download of the shell script.
>
>
>
>
>
> =====================
> Mark Roddy
> Windows .NET/XP/2000 Consulting
> Hollis Technology Solutions 603-321-1032
> www.hollistech.com



Relevant Pages

  • Re: DDKBuild ISSUE with WINDDK...
    ... My combination right now is Windows Server 2003 DDK and VC++ 6.0 and I'm ... > This builds like a champ if you use the Windows 2000 Build Environment of ...
    (microsoft.public.development.device.drivers)
  • Re: DDKBuild ISSUE with WINDDK...
    ... My combination right now is Windows Server 2003 DDK and VC++ 6.0 and I'm ... > This builds like a champ if you use the Windows 2000 Build Environment of ...
    (microsoft.public.win32.programmer.kernel)
  • Re: DDKBuild ISSUE with WINDDK...
    ... My combination right now is Windows Server 2003 DDK and VC++ 6.0 and I'm ... > This builds like a champ if you use the Windows 2000 Build Environment of ...
    (microsoft.public.vc.debugger)
  • Microsoft Express Tools (WAS: c++ programming evironment)
    ... Here is a link to the Express editions for the Microsoft tools... ... If your app is a simple utility that is designed to be Windows only, then the Express editions should do the trick nicely. ... i've seen some references to the visual studio for windows. ... developer coming from a Windows environment. ...
    (Fedora)
  • Re: Build problem with Windows Development Kit (WDK)
    ... WDK Build Environment Refactoring: ... These describe the changes between the old DDK and the WDK, ... Windows Operating System Version Constants ...
    (microsoft.public.development.device.drivers)