Number | NMAKE, EXEHDR, and LIB Fatal Error Message |
U1000syntax error : ')' missing in macro invocation | ||
A left parenthesis, (, appeared without a matching right parenthesis, ), in a macro invocation. The correct form is $(name), and $n is allowed for one-character names. | ||
U1001syntax error : illegal character character in macro | ||
The given character appeared in a macro but was not a letter, number, or underscore (_). | ||
If the colon (:) is omitted in a macro expansion, the following error occurs:
syntax error : illegal character '=' in macro |
||
U1002syntax error : invalid macro invocation '$' | ||
A single dollar sign ($) appeared without a macro name associated with it. | ||
The correct form is $(name). To specify a dollar sign, use a double dollar sign ($$) or precede it with a caret (^). | ||
U1003syntax error : '=' missing in macro substitution | ||
A macro invocation contained a colon (:), which begins a substitution, but it did not contain an equal sign (=). | ||
The correct form is:
$(macroname:oldstring=newstring) |
||
U1004syntax error : macro name missing | ||
One of the following occurred:
The name of a macro being defined was itself a macro invocation that expanded to nothing. For example, if the macro named ONE is undefined or has a null value, the following macro definition causes this error: $(ONE)=TWOA macro invocation did not specify a name in the parentheses. The following specification causes this error: $() The correct form is: $(name) |
||
U1005syntax error : text must follow ':' in macro | ||
A string substitution was specified for a macro, but the string to be changed in the macro was not specified. | ||
U1006syntax error : missing closing double quotation mark | ||
An opening double quotation mark (") appeared without a closing double quotation mark. | ||
U1007double quotation mark not allowed in name | ||
The specified target name or filename contained a double quotation mark ("). | ||
Double quotation marks can surround a filename but cannot be contained within it. | ||
U1017unknown directive !directive | ||
The specified directive is not one of the recognized directives. | ||
U1018directive and/or expression part missing | ||
The directive was incompletely specified. | ||
The expression part of the directive is required. | ||
U1019too many nested !IF blocks | ||
The limit on nesting of !IF directives was exceeded. | ||
The !IF preprocessing directives include !IF, !IFDEF, !IFNDEF, !ELSE IF, !ELSE IFDEF, and !ELSE IFNDEF. | ||
U1020end-of-file found before next directive | ||
An expected directive was missing. | ||
For example, an !IF was not followed by an !ENDIF. | ||
U1021syntax error : !ELSE unexpected | ||
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. | ||
U1022missing terminating character for string/program invocation : char | ||
The closing double quotation mark (") in a string comparison in a directive was missing, or the closing bracket (]) in a program invocation in a directive was missing. | ||
U1023syntax error in expression | ||
An expression was invalid. | ||
Check the allowed operators and operator precedence. | ||
U1024illegal argument to !CMDSWITCHES | ||
An unrecognized command switch was specified. | ||
U1031filename missing (or macro is null) | ||
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. | ||
U1033syntax error : string unexpected | ||
The given string is not part of the valid syntax for a makefile. | ||
The following are examples of causes and results of this error:
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' unexpectedIf 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 : '=' unexpectedIf the semicolon (;) in a comment line in TOOLS.INI is not at the beginning of the line, the following error occurs: syntax error : ';' unexpectedIf the makefile has been formatted by a word processor, the following error can occur: syntax error : ':' unexpected |
||
U1034syntax error : separator missing | ||
The colon (:) that separates targets and dependents is missing. | ||
U1035syntax error : expected ':' or '=' separator | ||
Either a colon (:) or an equal sign (=) was expected. | ||
Possible causes include the following:
A target was not followed by a colon. A single-letter target was followed by a colon and no space (such as a:). NMAKE interpreted it as a drive specification. An inference rule was not followed by a colon. 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. |
||
U1036syntax error : too many names to left of '=' | ||
Only one string is allowed to the left of a macro definition. | ||
U1037syntax error : target name missing | ||
A colon (:) was found before a target name was found. | ||
At least one target is required. | ||
U1038internal error : lexer | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1039internal error : parser | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1040internal error : macro expansion | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1041internal error : target building | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1042internal error : expression stack overflow | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1043internal error : temp file limit exceeded | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1045spawn failed : message | ||
A program or command, called by NMAKE, failed for the given reason. | ||
U1047argument before ')' expands to nothing | ||
The parentheses following the preprocessing operator DEFINED or EXIST either were empty or contained an argument that evaluated to a null string. | ||
U1048cannot write to file filename | ||
NMAKE could not write to the given file. | ||
One cause of this error is a read-only file specified with /X. | ||
U1049macro or inline file too long (maximum : 64K) | ||
An inline file or a macro exceeded the limit of 64K. | ||
U1050user-specified text | ||
The message specified with the !ERROR directive was displayed. | ||
U1051out of memory | ||
The makefile was too large or complex for available memory. | ||
U1052file filename not found | ||
NMAKE could not find the given file, which was specified with one of the following:
The /F option The !INCLUDE preprocessing directive The at sign (@) specifier for a response file |
||
Check that the file exists and the filename is spelled correctly. | ||
U1053file filename unreadable | ||
The file cannot be read. | ||
One of the following may be a cause:
The file is in use by another process. A bad area exists on disk. A bad file-allocation table exists. |
||
U1054cannot create inline file filename | ||
NMAKE failed to create the given inline file. | ||
One of the following may be a cause:
A file by that name exists with a read-only attribute. The disk is full. |
||
U1055out of environment space | ||
The operating system ran out of room for environment variables. | ||
Either increase the environment space or set fewer environment variables. | ||
U1056cannot find command processor | ||
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. | ||
U1057cannot delete temporary file filename | ||
NMAKE failed to delete the temporary inline file. | ||
U1058terminated by user | ||
NMAKE was halted by CTRL+C or CTRL+BREAK. | ||
U1060unable to close file : filename | ||
NMAKE encountered an error while closing a file. | ||
One of the following may be a cause:
The file is a read-only file. There is a locking or sharing violation. The disk is full. |
||
U1061/F option requires a filename | ||
The /F command-line option must be followed by either a makefile name or a dash (–), which represents standard input. | ||
U1062missing filename with /X option | ||
The /X command-line option requires the name of the file to which diagnostic error output should be redirected. | ||
To use standard output, specify '-' as the output filename. | ||
U1063missing macro name before '=' | ||
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. | ||
U1064MAKEFILE not found and no target specified | ||
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. 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. | ||
U1065invalid option option | ||
The specified option is not a valid option for NMAKE. | ||
U1069no match found for wildcard filename | ||
There is no file that matches the given filename, which was specified using one or more wildcards (* and ?). | ||
A target file specified using a wildcard must exist on disk. | ||
U1070cycle in macro definition macroname | ||
The given macro definition contained a macro whose definition contained the given macro. Circular macro definitions are invalid. | ||
For example, the following macro definitions:
ONE=$(TWO) TWO=$(ONE) |
||
cause the following error:
cycle in macro definition 'TWO' |
||
U1071cycle in dependency tree for target targetname | ||
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. | ||
U1072cycle in include files : filename | ||
The given file includes a file that eventually includes the given file. Inclusions (using the !INCLUDE preprocessing directive) cannot be circular. | ||
U1073don't know how to make targetname | ||
The specified target does not exist, and there is no command to execute or inference rule to apply. | ||
One of the following may be a solution:
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. |
||
U1076name too long | ||
A string exceeded one of the following limits:
A macro name cannot exceed 1024 characters. A target name (including path) cannot exceed 256 characters. A command cannot exceed 2048 characters. |
||
U1077program : return code value | ||
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. | ||
U1078constant overflow at expression | ||
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 |
||
U1079illegal expression : divide by zero | ||
An expression tried to divide by zero. | ||
U1080operator and/or operand usage illegal | ||
The expression incorrectly used an operator or operand. | ||
Check the allowed set of operators and their order of precedence. | ||
U1081filename : program not found | ||
NMAKE could not find the given program in order to run it. | ||
Make sure that the program is in a directory specified in the PATH environment variable and is not misspelled. | ||
U1082command : cannot execute command; out of memory | ||
There is not enough memory to execute the given command. | ||
U1083target macro target expands to nothing | ||
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. | ||
U1084cannot create temporary file filename | ||
NMAKE was unable to create the temporary file it needs when it processes the makefile. | ||
One of the following may be a cause:
The file already exists with a read-only attribute. There is insufficient disk space to create the file. The directory specified in the TMP environment variable does not exist. |
||
U1085cannot mix implicit and explicit rules | ||
A target and a pair of inference-rule extensions were specified on the same line. Targets cannot be named in inference rules. | ||
U1086inference rule cannot have dependents | ||
The colon (:) in an inference rule must be followed by one of the following:
A newline character A semicolon (;), which can be followed by a command A number sign (#), which can be followed by a comment |
||
U1087cannot have : and :: dependents for same target | ||
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. | ||
U1088invalid separator '::' on inference rule | ||
An inference rule must be followed by a single colon (:). | ||
U1089cannot have build commands for directive targetname | ||
Dot directives cannot be followed by commands. The dot directives are .IGNORE, .PRECIOUS, .SILENT, and .SUFFIXES. | ||
U1090cannot have dependents for directive targetname | ||
Dot directives cannot be followed by dependents. The dot directives are .IGNORE, .PRECIOUS, .SILENT, and .SUFFIXES. | ||
U1092too many names in rule | ||
An inference rule cannot specify more than two extensions. | ||
U1093cannot mix dot directives | ||
Multiple dot directives cannot be specified on one line. The dot directives are .IGNORE, .PRECIOUS, .SILENT, and .SUFFIXES. | ||
U1094syntax error : only (NO)KEEP allowed here | ||
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. | ||
U1095expanded command line commandline too long | ||
After macro expansion, the given command line exceeded the limit on length of command lines for the operating system. | ||
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. | ||
U1096cannot open inline file filename | ||
NMAKE could not create the given inline file. | ||
One of the following occurred:
The disk was full. A file with that name exists as a read-only file. |
||
U1097filename-parts syntax requires dependent | ||
The current dependency does not have either an explicit dependent or an implicit dependent. Filename-parts syntax, which uses the percent (%) specifier, represents components of the first dependent of the current target. | ||
U1098illegal filename-parts syntax in string | ||
The given string does not contain valid filename-parts syntax. | ||
U1099stack overflow | ||
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 EXEHDR utility with a larger stack option:
EXEHDR /STACK:stacksize |
||
where stacksize is a number greater than the current stack allocation in NMAKE. | ||
U1100invalid magic number number | ||
EXEHDR discovered an unknown signature in the header for the file. | ||
The signature in the header for a file identifies the operating system under which the executable file will run. | ||
U1101automatic data segment greater than 64K; correcting heap size | ||
There was not enough space in the automatic, or default, data segment (DGROUP) to accommodate the requested new heap size. EXEHDR adjusted the heap size to the maximum available space. | ||
This error applies only to segmented executable files. | ||
U1102automatic data segment greater than 64K; correcting stack size | ||
There was not enough space in the automatic, or default, data segment (DGROUP) to accommodate the requested new stack size. EXEHDR adjusted the stack size to the maximum available space. | ||
This error applies only to segmented executable files. | ||
U1103invalid .EXE file : actual length less than reported | ||
The second and third fields in the input-file header indicate a file size greater than the actual size. | ||
U1104cannot change load-high program | ||
When the minimum allocation and the maximum allocation are both 0, the file cannot be modified. | ||
U1105minimum allocation less than stack; correcting minimum | ||
If the minimum allocation is not enough to accommodate the stack (either as originally requested or as modified with EXEHDR), the minimum allocation is adjusted. | ||
This error applies only to DOS programs. | ||
U1106minimum allocation greater than maximum; correcting maximum | ||
If the minimum allocation is greater than the maximum allocation, the maximum allocation value is adjusted. | ||
If a display of DOS header values is requested, the values shown will be the values after the packed file is expanded. | ||
This error applies only to DOS programs. | ||
U1107unexpected end of resident/nonresident name table | ||
While decoding run-time relocation records, EXEHDR found the end of either the resident names table or the nonresident names table. The executable file is probably corrupted. | ||
This error applies only to segmented executable files. | ||
U1108unknown format of relocation records | ||
EXEHDR cannot decode the information in the file header because the header is not in a standard format. | ||
U1109illegal value argument | ||
The given argument was invalid for the EXEHDR option it was specified with. | ||
U1110malformed number number | ||
A command-line option for EXEHDR required a value, but the given number was mistyped. | ||
U1111option requires value | ||
A command-line option for EXEHDR required a value, but no value was specified or the specified value was in an illegal format for the given option. | ||
U1112value out of legal range lower – upper | ||
A command-line option for EXEHDR required a value, but the specified number did not fall in the required decimal range. | ||
U1113value out of legal range lower – upper | ||
A command-line option for EXEHDR required a value, but the specified number did not fall in the required hexadecimal range. | ||
U1114missing option value; option option ignored | ||
The given command-line option for EXEHDR required a value, but nothing was specified. EXEHDR ignored the option. | ||
U1115option option ignored | ||
The given command-line option for EXEHDR was ignored. This error usually occurs with error U1116, unrecognized option. | ||
U1116unrecognized option: option | ||
A command-line option for EXEHDR was not recognized. This error usually occurs with either U1115, option ignored, or U1111, option requires value. | ||
U1120input file missing | ||
No input file was specified on the EXEHDR command line. | ||
U1121command line too long: commandline | ||
The given EXEHDR command line exceeded the limit of 512 characters. | ||
U1130cannot read filename | ||
EXEHDR could not read the input file. Either the file is missing or the file attribute is set to prevent reading. | ||
U1131invalid .EXE file | ||
The input file specified on the EXEHDR command line was not recognized as an executable file. | ||
U1132unexpected end-of-file | ||
EXEHDR found an unexpected end-of-file condition while reading the executable file. The file is probably corrupt. | ||
U1140out of memory | ||
There was not enough memory for EXEHDR to decode the header of the execut-able file. | ||
U1150page size too small; use option /PAGE:n to increase it | ||
The page size of an input library was too small, indicating an invalid input .LIB file. | ||
U1151syntax error : illegal file specification | ||
A command operator was not followed by a module name or filename. | ||
One possible cause of this error is an option specified with a dash (–) instead of a forward slash (/). | ||
U1152syntax error : option name missing | ||
A forward slash (/) appeared on the command line without an option name after it. | ||
U1153syntax error : option value missing | ||
The /PAGE option was given without a value following it. | ||
U1154unrecognized option | ||
An unrecognized name followed the option indicator (/). | ||
An option is specified by a forward slash (/) and a name. The name can be specified by a legal abbreviation of the full name. | ||
U1155syntax error : illegal input | ||
A specified command did not follow correct LIB syntax. | ||
U1156syntax error | ||
A specified command did not follow correct LIB syntax. | ||
U1157comma or newline missing | ||
A comma or newline character was expected in the command line but did not appear. | ||
One cause of this error is an incorrectly placed comma, as in the following command line:
LIB math.lib, -mod1 +mod2; |
||
The line must be entered as follows:
LIB math.lib -mod1 +mod2; |
||
U1158terminator missing | ||
The last line of the response file supplied to LIB did not end with a newline character. | ||
U1161cannot rename old library | ||
LIB could not rename the old library with a .BAK extension because the .BAK version already existed with read-only protection. | ||
Change the protection attribute on the .BAK file. | ||
U1162cannot reopen library | ||
The old library could not be reopened after it was renamed with a .BAK extension. | ||
One of the following may have occurred:
Another process deleted the file or changed it to read-only. The floppy disk containing the file was removed. A hard-disk error occurred. |
||
U1163error writing to cross-reference file | ||
The disk or root directory was full. | ||
Delete or move files to make space. | ||
U1164name length exceeds 255 characters | ||
A filename specified on the command line exceeded the LIB limit of 255 characters. Reduce the number of characters in the name. | ||
U1170too many symbols | ||
The number of symbols in all object files and libraries exceeded the capacity of the dictionary created by LIB. | ||
Create two or more smaller libraries. | ||
U1171insufficient memory | ||
LIB did not have enough memory to run. | ||
Remove any shells or resident programs, or add more memory. | ||
U1172no more virtual memory | ||
The LIB session required more memory than the 1-megabyte limit imposed by LIB. | ||
Try using the /NOE option or reducing the number of object modules. | ||
U1173internal failure | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1174mark : not allocated | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1175free : not allocated | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1180write to extract file failed | ||
The disk or root directory was full. | ||
Delete or move files to make space. | ||
U1181write to library file failed | ||
The disk or root directory was full. | ||
Delete or move files to make space. | ||
U1182filename : cannot create extract file | ||
The disk or root directory was full, or the given extract file already existed with read-only protection. | ||
Make space on the disk or change the protection of the extract file. | ||
U1183cannot open response file | ||
The response file was not found. | ||
U1184unexpected end-of-file on command input | ||
An end-of-file character was received prematurely in response to a prompt. | ||
U1185cannot create new library | ||
The disk or root directory was full, or the library file already existed with read-only protection. | ||
Make space on the disk or change the protection of the library file. | ||
U1186error writing to new library | ||
The disk or root directory was full. | ||
Delete or move files to make space. | ||
U1187cannot open temporary file VM.TMP | ||
The disk or root directory was full. | ||
Delete or move files to make space. | ||
U1188insufficient disk space for temporary file | ||
The library manager cannot write to the virtual memory. | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1189cannot read from temporary file | ||
The library manager cannot read the virtual memory. | ||
Note the circumstances of the error and notify Microsoft Corporation by following the instructions in the Microsoft Product Assistance Request form at the back of one of your manuals. | ||
U1190interrupted by user | ||
LIB was interrupted with either CTRL+C or CTRL+BREAK. | ||
U1191libraryname : cannot write to read-only file | ||
Operations cannot be performed on the given library because it is marked as a read-only file. | ||
Change the protection attribute on the library. | ||
U1200filename : invalid library header | ||
The input library file had an invalid format. | ||
Either it was not a library file or it was corrupted. | ||
U1203filename : invalid object file near location | ||
The given file was not a valid object file or was corrupted at the given location. |