Export (0) Print
Expand All

NMAKE Errors U1000 through U4011 (Compact 7)

3/12/2014

This section lists NMAKE errors.

Error Description

NMAKE Fatal Error U1000

syntax error : ')' missing in macro invocation

Indicates that a left parenthesis, "(", appeared without a matching right parenthesis, ")", in a macro invocation. The correct form is $(name); $n is allowed for one-character names.

NMAKE Fatal Error U1001

syntax error : illegal character 'character' in macro

Indicates that the given character appears in a macro but is not a letter, number, or underscore.

NMAKE Fatal Error U1002

syntax error : invalid macro invocation '$'

Indicates that a single dollar sign appears without an associated macro name. The correct form is $(name). To specify a dollar sign, use a double dollar sign ($$) or precede the dollar sign with a caret (^).

NMAKE Fatal Error U1003

syntax error : '=' missing in macro

Indicates that a macro invocation contains a colon (:), which begins a substitution, but does not contain an equal sign (=). The correct form is $( macroname : oldstring=newstring)

NMAKE Fatal Error U1004

syntax error : macro name missing

Indicates that a macro name is missing.

NMAKE Fatal Error U1005

syntax error : text must follow ':' in macro

Indicates that a string substitution was specified for a macro, but the string to be changed in the macro was not specified.

NMAKE Fatal Error U1006

syntax error : missing closing double quotation mark

Indicates that an opening double quotation mark (") appeared without a closing double quotation mark (").

NMAKE Fatal Error U1007

double quotation mark not allowed in name

Indicates that the specified target name or filename contained a double quotation mark ("). Double quotation marks can surround a filename but cannot be contained within it.

NMAKE Fatal Error U1017

unknown directive '!directive'

Indicates that the specified directive is not one of the recognized directives.

NMAKE Fatal Error U1018

directive and/or expression part missing

Indicates that the directive was incompletely specified, or the expression part of the directive is required.

NMAKE Fatal Error U1019

too many nested !IF blocks

Indicates that the limit on nesting of !IF directives was exceeded.

NMAKE Fatal Error U1020

end-of-file found before next directive

Indicates that an expected directive was missing. For example, an !IF was not followed by an !ENDIF.

NMAKE Fatal Error U1021

syntax error : !ELSE unexpected

Indicates that an !ELSE directive was found that was not preceded by an !IF directive, or the directive was placed in a syntactically incorrect place. The !IF preprocessing directives include !IF, !IFDEF, !IFNDEF, !ELSE IF, !ELSE IFDEF, and !ELSE IFNDEF.

NMAKE Fatal Error U1022

missing terminating character for string/program invocation : 'char'

Indicates that a terminal character is missing for string/program invocation.

Possible causes:

  • The closing double quotation mark (") in a string comparison in a directive was missing.
  • The closing bracket (]) in a program invocation in a directive was missing.

NMAKE Fatal Error U1023

syntax error in expression

Indicates that an expression is invalid. Check the allowed operators and operator precedence.

NMAKE Fatal Error U1024

illegal argument to !CMDSWITCHES

Indicates that an unrecognized command switch was specified.

NMAKE Fatal Error U1025

syntax error : !ENDIF unexpected

Indicates that an !ENDIF directive was found that was not preceded by an !IF directive, or the directive was placed in a syntactically incorrect place. The !IF preprocessing directives include !IF, !IFDEF, !IFNDEF, !ELSE IF, !ELSE IFDEF, and !ELSE IFNDEF.

NMAKE Fatal Error U1031

filename missing (or macro is null)

Indicates that an !INCLUDE directive was found, but the name of the file to be included was missing or a macro representing the filename expanded to nothing.

NMAKE Fatal Error U1033

syntax error : 'string' unexpected

Indicates that the string is not part of the valid syntax for a makefile.

Possible causes:

  • If the closing set of angle brackets (<<) for an inline file are not at the beginning of a line, the following error occurs:
    syntax error : 'EOF' unexpected
  • If a macro definition in the makefile contained an equal sign (=) without a preceding name or if the name being defined is a macro that expands to nothing, the following error occurs:
    syntax error : '=' unexpected
  • If the semicolon (;) in a comment line in TOOLS.INI is not at the beginning of the line, the following error occurs:
    syntax error : ';' unexpected
  • If the makefile has been formatted by a word processor, the following error can occur:
    syntax error : ':' unexpected

NMAKE Fatal Error U1034

syntax error : separator missing

Indicates that the colon (:) that separates targets and dependents is missing.

NMAKE Fatal Error U1035

syntax error : expected ':' or '=' separator

Indicates that either a colon (:) or an equal sign (=) was expected.

Possible causes:

  • A colon did not follow a target.
  • A colon and no space (such as a:) followed a single-letter target. NMAKE interpreted it as a drive specification.
  • A colon did not follow an inference rule.
  • A macro definition was not followed by an equal sign.
  • A character followed a backslash (\) that was used to continue a command to a new line.
  • A string appeared that did not follow any NMAKE syntax rule.
  • The makefile was formatted by a word processor.

NMAKE Fatal Error U1036

syntax error : too many names to left of '='

Indicates that only one string is allowed to the left of a macro definition.

NMAKE Fatal Error U1037

syntax error : target name missing

Indicates that a colon (:) was found before a target name was found. At least one target is required.

NMAKE Fatal Error U1038

internal error : lexer

Indicates an internal error. Note the circumstances of the error, try to isolate the problem and create a reproducible test case, then consult Microsoft Product Support Services (PSS).

NMAKE Fatal Error U1039

internal error : parser

Indicates an internal error. Note the circumstances of the error, try to isolate the problem and create a reproducible test case, then consult Microsoft Product Support Services (PSS).

NMAKE Fatal Error U1040

internal error : macro expansion

Indicates an internal error. Note the circumstances of the error, try to isolate the problem and create a reproducible test case, then consult Microsoft Product Support Services (PSS).

NMAKE Fatal Error U1041

internal error : target building

Indicates an internal error. Note the circumstances of the error, try to isolate the problem and create a reproducible test case, then consult Microsoft Product Support Services (PSS).

NMAKE Fatal Error U1042

internal error : expression stack overflow

Indicates an internal error. Note the circumstances of the error, try to isolate the problem and create a reproducible test case, then consult Microsoft Product Support Services (PSS).

NMAKE Fatal Error U1043

internal error : temp file limit exceeded

Indicates an internal error. Note the circumstances of the error, try to isolate the problem and create a reproducible test case, then consult Microsoft Product Support Services (PSS).

NMAKE Fatal Error U1045

spawn failed : message

Indicates that a program or command called by NMAKE failed for the given reason.

NMAKE Fatal Error U1047

argument before ')' expands to nothing

Indicates that the parentheses following the preprocessing operator DEFINED or EXIST either were empty or contained an argument that evaluated to a null string.

NMAKE Fatal Error U1048

cannot write to file 'filename'

Indicates that NMAKE could not write to the given file. One cause of this error is a read-only file specified with /X.

NMAKE Fatal Error U1049

macro or inline file too long (maximum : 64K)

Indicates that an inline file or a macro exceeded the limit of 64K.

NMAKE Fatal Error U1050

message

Indicates that the message specified with the !ERROR directive was displayed.

NMAKE Fatal Error U1051

out of memory

Indicates that NMAKE ran out of memory, including virtual memory, because the makefile was too large or complex.

Possible solutions:

  • Free some space on disk.
  • Increase the size of the Windows Embedded Compact paging file or the Windows swap file.
  • If only part of the makefile is being used, either divide the makefile into separate files or use !IF preprocessing directives to limit the amount that NMAKE must process. The !IF directives include !IF, !IFDEF, !IFNDEF, !ELSE IF, !ELSE IFDEF, and !ELSE IFNDEF.

NMAKE Fatal Error U1052

file 'filename' not found

Indicates that NMAKE could not find the file specified with one of the following:

  • /F option
  • !INCLUDE preprocessing directive
  • At sign (@) specifier for a response file
  • Check that the file exists and the filename is spelled correctly.

NMAKE Fatal Error U1053

file 'filename' unreadable

Indicates that the file is unreadable.

Possible causes:

  • File in use by another process.
  • Bad area on disk.
  • Bad file-allocation table.

NMAKE Fatal Error U1054

cannot create inline file 'filename'

Indicates that NMAKE failed to create the given inline file.

Possible causes:

  • A file by that name exists with a read-only attribute.
  • The disk is full.

NMAKE Fatal Error U1055

out of environment space

Indicates that the operating system ran out of room for environment variables. Either increase the environment space or set fewer environment variables.

NMAKE Fatal Error U1056

cannot find command processor

Indicates that the command processor was not in the path specified in the COMSPEC or PATH environment variables. NMAKE uses COMMAND.COM or CMD.EXE as a command processor when executing commands. It looks for the command processor first in the path set in COMSPEC. If COMSPEC does not exist, NMAKE searches the directories specified in PATH.

NMAKE Fatal Error U1057

cannot delete temporary file 'filename'

Indicates that NMAKE failed to delete the temporary inline file.

NMAKE Fatal Error U1058

terminated by user

Indicates that NMAKE was halted by CTRL+C or CTRL+BREAK.

NMAKE Fatal Error U1059

syntax error : '}' missing in dependent

Indicates that a search path for a dependent was incorrectly specified. Either a space existed in the path or the closing brace (}) was omitted.

The syntax for a directory specification for a dependent is

{directories}dependent

where directories specifies one or more paths, each separated by a semicolon (;). No spaces are allowed.

If part or all of a search path is replaced by a macro, make sure no spaces exist in the macro expansion.

NMAKE Fatal Error U1060

unable to close file : 'filename'

Indicates that NMAKE encountered an error while closing a file.

Possible causes:

  • File is read-only.
  • Locking or sharing violation.
  • Disk full.

NMAKE Fatal Error U1061

/F option requires a filename

Indicates that the /F command-line option must be followed by a makefile name or a hyphen (which represents standard input).

NMAKE Fatal Error U1062

missing filename with /X option

Indicates that the /X command-line option requires the name of the file to contain diagnostic error output or a hyphen to indicate standard output.

NMAKE Fatal Error U1063

missing macro name before '='

Indicates that a macro definition on the NMAKE command line contained an equal sign (=) without a preceding name. This error can occur if the macro name being defined is itself a macro that expands to nothing.

NMAKE Fatal Error U1064

MAKEFILE not found and no target specified

Indicates that the NMAKE command line did not specify a makefile or a target, and the current directory did not contain a file named MAKEFILE.

NMAKE requires either a makefile or a command-line target (or both). To make a makefile available to NMAKE, either specify the /F option or place a file named MAKEFILE in the current directory. NMAKE can create a command-line target by using an inference rule if a makefile is not provided.

NMAKE Fatal Error U1065

invalid option 'option'

Indicates that the option is not valid for NMAKE.

NMAKE Fatal Error U1069

no match found for wildcard 'filename'

Indicates that there is no file that matches the given filename, which was specified using one or more wildcards (* and ?). A target file that is specified using a wildcard must exist on disk.

NMAKE Fatal Error U1070

cycle in macro definition 'macroname'

Indicates that the given macro definition contained a macro whose definition contained the given macro. Circular macro definitions are invalid.

NMAKE Fatal Error U1071

cycle in dependency tree for target 'targetname'

Indicates that a circular dependency exists in the dependency tree for the given target. The given target is a dependent of one of the dependents of the given target. Circular dependencies are invalid.

NMAKE Fatal Error U1072

cycle in include files : 'filename'

Indicates that the given file includes a file that eventually includes the given file. Inclusions (using the !INCLUDE preprocessing directive) cannot be circular.

NMAKE Fatal Error U1073

don't know how to make 'targetname'

Indicates that the specified target does not exist, and there is no command to execute or inference rule to apply.

Possible solutions:

  • Check the spelling of the target name.
  • If targetname is a pseudotarget, specify it as a target in another description block.
  • If targetname is a macro invocation, be sure it does not expand to a null string.

NMAKE Fatal Error U1076

name too long

Indicates that a string one of the following limits:

  • 1024 characters for a macro name.
  • 256 characters for a target pathname.
  • 2048 characters for a command.

NMAKE Fatal Error U1077

'program' : return code 'value'

Indicates that the given command or program called by NMAKE failed and returned the given exit code.

To suppress this error and continue the NMAKE session, use the /I option, the .IGNORE dot directive, or the dash (-) command modifier. To continue the NMAKE session for unrelated parts of the dependency tree, use the /K option.

NMAKE Fatal Error U1078

constant overflow at 'expression'

Indicates that the given expression contained a constant that exceeded the range -2,147,483,648 to 2,147,483,647. The constant appeared in one of the following situations:

  • An expression specified with a preprocessing directive
  • An error level specified with the dash (-) command modifier

NMAKE Fatal Error U1079

illegal expression : divide by zero

Indicates that an expression tried to divide by zero.

NMAKE Fatal Error U1080

operator and/or operand usage illegal

Indicates that the expression incorrectly used an operator or operand.

NMAKE Fatal Error U1081

'filename' : program not found

Indicates that NMAKE could not find the given program in order to run it.

NMAKE Fatal Error U1082

'command' : cannot execute command; out of memory

Indicates that there is not enough memory to execute the given command. One solution is to use the /N option to generate a batch file, then run the batch file instead of using NMAKE. In most cases the results will be the same.

NMAKE Fatal Error U1083

target macro 'target' expands to nothing

Indicates that the given target is an invocation of a macro that has not been defined or has a null value. NMAKE cannot process a null target.

NMAKE Fatal Error U1084

cannot create temporary file 'filename'

Indicates that NMAKE was unable to create the temporary file it needs when it processes the makefile.

Possible causes:

  • File already exists and is read-only.
  • Disk full.
  • Directory specified in the TMP environment variable does not exist.

NMAKE Fatal Error U1085

cannot mix implicit and explicit rules

Indicates that a target and a pair of inference-rule extensions were specified on the same line.

NMAKE Fatal Error U1086

inference rule cannot have dependents

Indicates that the inference rule cannot have dependents.

The colon (:) in an inference rule must be followed by one of these:

  • Newline character
  • Semicolon (;), which can be followed by a command
  • Number sign (#), which can be followed by a comment

NMAKE Fatal Error U1087

cannot have : and :: dependents for same target

Indicates that a target cannot be specified in both a single-colon (:) and a double-colon (::) dependency. To specify a target in multiple description blocks, use :: in each dependency line.

NMAKE Fatal Error U1088

invalid separator '::' on inference rule

Indicates that an inference rule must be followed by a single colon (:).

NMAKE Fatal Error U1089

cannot have build commands for directive 'targetname'

Indicates that dot directives cannot be followed by commands. The dot directives are .IGNORE, .PRECIOUS, .SILENT, and .SUFFIXES.

NMAKE Fatal Error U1090

cannot have dependents for directive 'targetname'

Indicates that dot directives cannot be followed by dependents. The dot directives are .IGNORE, .PRECIOUS, .SILENT, and .SUFFIXES.

NMAKE Fatal Error U1092

too many names in rule

Indicates that an inference rule cannot specify more than two extensions.

NMAKE Fatal Error U1093

cannot mix dot directives

Indicates that multiple dot directives cannot be specified on one line. The dot directives are .IGNORE, .PRECIOUS, .SILENT, and .SUFFIXES.

NMAKE Fatal Error U1094

syntax error : only (NO)KEEP allowed here

Indicates that something other than KEEP or NOKEEP appeared after the closing set of angle brackets (<<) specifying an inline file.

Only KEEP, NOKEEP, or a newline character may follow the angle brackets. No spaces, tabs, or other characters may appear. KEEP preserves the inline file on disk. NOKEEP deletes the file after the NMAKE session. The default is NOKEEP.

NMAKE Fatal Error U1095

expanded command line 'commandline' too long

Indicates that after macro expansion, the given command line exceeded the limit on length of command lines for the operating system.

MS-DOS permits up to 128 characters on a command line. If the command is for a program that can accept command-line input from a file, change the command and supply input from either a file on disk or an inline file. For example, LINK and LIB accept input from a response file.

NMAKE Fatal Error U1096

cannot open inline file 'filename'

Indicates that NMAKE could not create the given inline file.

Possible causes:

  • Disk full.
  • File already exists and is read-only.

NMAKE Fatal Error U1097

filename-parts syntax requires dependent

Indicates that the current dependency does not have either an explicit dependent or an implicit dependent. Filename-parts syntax, which uses the percent (%) specifier, represents elements of the first dependent of the current target.

NMAKE Fatal Error U1098

illegal filename-parts syntax in 'string'

Indicates that the given string does not contain valid filename-parts syntax.

NMAKE Fatal Error U1099

stack overflow

Indicates that the makefile being processed was too complex for the current stack allocation in NMAKE.

NMAKE has an allocation of 0x3000 (12K). To increase NMAKE's stack allocation, run the editbin /stack utility with a larger stack option:

editbin /STACK:reserve NMAKE.EXE

where reserve is a number greater than the current stack allocation in NMAKE.

NMAKE Fatal Error U1100

macro 'macroname' is illegal in the context of batch rule 'rule'

Indicates that the command block of a batch-mode rule directly or indirectly references a special file macro that is not $<.

NMAKE Fatal Error U2001

no more file handles (too many files open)

Indicates that NMAKE could not find a free file handle.

Possible solutions:

  • Reduce recursion in the build procedures.
  • In MS-DOS, increase the number of file handles by changing the FILES setting in CONFIG.SYS to allow a larger number of open files. FILES=50 is the recommended setting.

NMAKE Warning U4001

command file can be invoked only from command line

Indicates that a command file, which is invoked by the at sign (@) specifier, cannot contain a specification for another command file.

NMAKE Warning U4002

resetting value of special macro 'macroname'

Indicates that the given predefined macro was redefined.

NMAKE Warning U4004

too many rules for target 'targetname'

Indicates that more than one description block was specified for the given target using single colons (:) as separators.

NMAKE Warning U4005

ignoring rule 'rule' (extension not in .SUFFIXES)

Indicates that the given rule contained a suffix that is not specified in the .SUFFIXES list. This warning appears only when the /P option is used.

NMAKE Warning U4006

special macro undefined : 'macroname'

Indicates that the given special macro name is undefined and expands to nothing.

NMAKE Warning U4007

filename 'filename' too long; truncating to 8.3

Indicates that the base name of the given file has more than eight characters, or the extension has more than three characters.

If long filenames are supported by your file system, enclose the name in double quotation marks (").

NMAKE Warning U4008

removed target 'target'

Indicates that NMAKE was interrupted while trying to build the given target, and the target file was incomplete.

Because the target was not specified in the .PRECIOUS list, NMAKE deleted the file.

NMAKE Warning U4010

'target' : build failed; /K specified, continuing ...

Indicates that a command in the commands block for the given target returned a nonzero exit code.

The /K option told NMAKE to continue processing unrelated parts of the build and to issue an exit code 1 when the NMAKE session is finished.

If the given target is, itself, a dependent for another target, NMAKE issues warning U4011 after this warning.

NMAKE Warning U4011

'target' : not all dependents available; target not built

Indicates that a dependent of the given target either did not exist or was out-of-date, and a command for updating the dependent returned a nonzero exit code.

The /K option told NMAKE to continue processing unrelated parts of the build and to issue an exit code 1 when the NMAKE session is finished.

This warning is preceded by warning U4010 for each dependent that failed to be created or updated.

Show:
© 2014 Microsoft