Answered by:
WDK 7 build errors

Question
-
Hello I recently downloaded WDK version 7 and I've noticed it's not the same as DDK.
When I build for x86 checked im getting errors. Here's my log file. I was building a simple hello world to see what I was doing wrong.
BUILD: Computing Include file dependencies:
BUILD: Examining i:\winddk\7600.16385.1\src\driver\hello\src directory for files to compile.
1>Compiling and Linking i:\winddk\7600.16385.1\src\driver\hello\src *************
1>'nmake.exe /nologo BUILDMSG=Stop. -i /nologo /f i:\winddk\7600.16385.1\bin\makefile.def BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR=src\driver\hello\src'
1>'nmake.exe' is not recognized as an internal or external command,
1>errors in directory i:\winddk\7600.16385.1\src\driver\hello\src
1>error 'nmake.exe' is not recognized as an internal or external command,
1>operable program or batch file.
1>nmake.exe /nologo BUILDMSG=Stop. -i /nologo /f i:\winddk\7600.16385.1\bin\makefile.def BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR=src\driver\hello\src failed - rc = 1
When I put the sources file outside the current build directory it reports no errors but yet there's no compiled 'hello.sys'.
When I put the sources file in the current build directory I get errors. What is wrong with this Kit. Is there changes that I don'k know of?
Please help me cause I really want to work on my projects and finish quickly.
Thanks in advance.
Thursday, December 23, 2010 4:47 AM
Answers
-
Thanks Gary G., for your suggestions. I uninstalled it and tried installing it on the C: drive, but I encountered some other errors too....So I just rebooted, uninstalled and installed back on the flash drive and now it works. It compiles with no problems..Thanks Gary.
chx101- Marked as answer by MegaGigaBytes Friday, December 24, 2010 8:25 AM
Friday, December 24, 2010 8:24 AM
All replies
-
How did you launch the build? From the line "'nmake.exe' is not recognized as an internal or external command," my guess is that you simply launched a command line, navigated to the top of your directory hierarchy and launched build. However, if you launched build from a WDK build environment, then I'd ask if you customized the install and possibly mangled it?
Gary G. Little NanoTelesis Systems, LLCThursday, December 23, 2010 1:49 PM -
I always ran it through setenv.bat from the start menu ofcourse. And then from there I navigate to the build directory by
cd /d X:\XXXX\XX\
Start>All Programs>Windows Driver Kits>WDK 7600.16385.1>Build Environments>Windows XP>x86 Checked Build Environment
My WDK path is I:WinDDK\7600.16385.1, its on a flash drive.
Now, it won't even navigate to the bin directory after I use the above method, it just shows me Command Prompt with current directory set to C:\WINDOWS but titled x86 Checked Build Environment
And also the nmake issue arose just after I resumed my laptop from Hibernation...
Is there anywhere I can download Windows XP DDK, I've been using that and I was having no trouble with it.
Thank you for your help
chx101Thursday, December 23, 2010 8:03 PM -
Ok, so you do start one of the build environments found in the WDK, navigate to your sources path and then execute BUILD. A minor point, although stranger things have happened, but shouldn't "I:WinDDK\7600.16385.1" be "I:\WinDDK\7600.16385.1"? According to your entered path, the WDK is located "somewhere, or off of what ever the working directory just happens to be" on I: instead of off of the root. That could be a typo, however.
What do you mean it won't even navigate to the bin directory? Whether you select a Build Environment using the mouse, or execute "C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1 fre WXP" from a command line, you are going to end up in C:\WinDDK\7600.16385.1. After you go to your sources and then build, you should remain in your sources. How you ended up in C:\Windows after retruning from hibernation I couldn't say, unless there was a command line window lurking you didn't know about. Did you open another build environment? How about rebooting and trying things again? I seldom, if ever hibernate anything so I really could not speak to hibernation screwing things up.
Gary G. Little NanoTelesis Systems, LLCThursday, December 23, 2010 9:07 PM -
Well the path was just a typo( Sorry about that)
When I resumed from hibernation the seteenv.bat file was 0KB and Windows said it was an invalid Win32 Executable file, it became corrupt I think because of hibernation.
So as of right now I just uninstalled it and re-installing it to C: root drive, to see if the problem was because it was installed on a flash drive.
I'll get back at you after installation.
chx101- Marked as answer by MegaGigaBytes Friday, December 24, 2010 8:24 AM
- Unmarked as answer by MegaGigaBytes Friday, December 24, 2010 8:25 AM
Thursday, December 23, 2010 9:49 PM -
Thanks Gary G., for your suggestions. I uninstalled it and tried installing it on the C: drive, but I encountered some other errors too....So I just rebooted, uninstalled and installed back on the flash drive and now it works. It compiles with no problems..Thanks Gary.
chx101- Marked as answer by MegaGigaBytes Friday, December 24, 2010 8:25 AM
Friday, December 24, 2010 8:24 AM -
Ok, I'm now having a very similar problem, but even stranger. I have a driver which I build x86/x64 versions by invoking two separate batch files. The batch file contains call to setenv.bat.
Now, if I double-click the batch file from Windows Explorer, a CMD window pops up, the driver is built perfectly, and then the CMD window terminates.
BUT, if I first open a CMD window, browse to the directory where the batch file is and invoke it form command line, I get the "1>error 'nmake.exe' is not recognized as an internal or external command," error.
I both cases, the working directory is the same.
I have no idea where to even start looking...
TIA
/Rob
Friday, August 5, 2011 12:55 PM -
I would suggest that you pick up DDKBUILD from either HollisTech.com or OsrOnline.com, and then use DIRS and SOURCES to direct the build from a common root. BUILD will chase down all instances of DIRS it finds looking for SOURCES without a DIRS, and then backtrack and go down a new path as long as it finds DIRS. Makes life at least "simpler" when doing kernel builds.
Gary G. Little NanoTelesis Systems, LLCMonday, August 8, 2011 1:27 PM