fatal error U1073: don't know how to make 'c:\winddk\7600.16385.0\lib\wxp\i386\msvcrt_winxp.obj'

4.2k views Asked by At

I try to compile a driver for WinXP x86 Release, using these commands:

C:\WinDDK\7600.16385.0\bin\setenv.bat C:\WinDDK\7600.16385.0\ fre x86 WXP no_oacr
cd C:\src
build

It fails because of these U1073 errors about msvcrt_winxp.obj. I checked and there is no msvcrt_winxp.obj file anywhere in C:\WinDDK or its subdirectories.

It looks to me the problem is not in the actual code, but maybe I haven't set up the DDK right before compiling. Why do I get these U1073 errors?

I found this similar question - driver build is failing for amd64 via winddk, but there the OP did has not included relevant information such as his build output, and his question is unanswered. I also found this thread - http://www.techtalkz.com/microsoft-device-drivers/295015-wdk-linker-error-u1073.html, but there is no answer there, as well.

My Build Output:

BUILD: Compile and Link for x86
BUILD: Loading c:\winddk\7600.16385.0\build.dat...
BUILD: Computing Include file dependencies:
BUILD: Start time: Thu Nov 13 12:04:25 2014
BUILD: Examining c:\src directory tree for files to compile.
    c:\src 
    c:\src\common 
    c:\src\driver 
    c:\src\ui 
BUILD: Saving c:\winddk\7600.16385.0\build.dat...
1>BUILD: Compiling (NoSync) c:\src\driver directory
2>BUILD: Compiling (NoSync) c:\src\ui directory
_NT_TARGET_VERSION SET TO WINXP
_NT_TARGET_VERSION SET TO WINXP
1>BUILD: Linking for c:\src\driver directory
2>BUILD: Linking for c:\src\ui directory
_NT_TARGET_VERSION SET TO WINXP
_NT_TARGET_VERSION SET TO WINXP
1>errors in directory c:\src\driver
1>NMAKE : fatal error U1073: don't know how to make 'c:\winddk\7600.16385.0\lib\wxp\i386\msvcrt_winxp.obj'
2>errors in directory c:\src\ui
2>NMAKE : fatal error U1073: don't know how to make 'c:\winddk\7600.16385.0\lib\wxp\i386\msvcrt_winxp.obj'
1>nmake.exe /nologo BUILDMSG=Stop. -i /nologo /f c:\winddk\7600.16385.0\bin\makefile.def BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDLL=1 MAKEDIR_RELATIVE_TO_BASEDIR= failed - rc = 2
2>nmake.exe /nologo BUILDMSG=Stop. -i /nologo /f c:\winddk\7600.16385.0\bin\makefile.def BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDLL=1 MAKEDIR_RELATIVE_TO_BASEDIR= failed - rc = 2
BUILD: Finish time: Thu Nov 13 12:04:26 2014
BUILD: Done
    0 files compiled - 4 Errors
1

There are 1 answers

0
sashoalm On BEST ANSWER

I don't know why, but after I installed an even newer version - 7600.16385.1 from http://www.microsoft.com/en-us/download/details.aspx?id=11800, building worked fine, without any errors.

It didn't work the first time, however, but I noticed it was still complaining about 7600.16385.0, so I removed any intermediary build output, .err and .log files. After compiling again, it worked this time.

I also noticed that msvcrt_winxp.obj was present in c:\WinDDK\7600.16385.1, but not in c:\WinDDK\7600.16385.0.

I must admit that I hadn't downloaded c:\WinDDK\7600.16385.0, it was an old folder I found on my hard-drive, and I assumed I had used it to compile the project before, so I just copied it. The problems might have been because of this.

So in conclusion, the problem was with my WinDDK install, not with the project itself, and installing a newer version fixed it. Maybe re-installing the same version would have worked, too, but I have no need to verify that now that's working with the newer version.