Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ îðèãèíàëüíîãî äîêóìåíòà : http://crydee.sai.msu.ru/~vab/fortran.doc/dwf6/dvf_rter.pdf
Äàòà èçìåíåíèÿ: Sun Dec 13 16:04:48 1998
Äàòà èíäåêñèðîâàíèÿ: Tue Oct 2 05:55:54 2012
Êîäèðîâêà:
DIGITAL Visual Fortran Error Messages

Date: Software Version:

September, 1998 DIGITAL Visual Fortran Version 6.0, Standard and Professional Editions

Operating Systems: Microsoft® Windows® 95, Windows 98, or Windows NT® Version 4

Digital Equipment Corporation Maynard, Massachusetts

8/25/98 5:23 PM


Copyright Page
Digital Equipment Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description. Possession, use, or copying of the software described in this publication is authorized only pursuant to a valid written license from Digital or an authorized sublicensor. Copyright © 1998, Digital Equipment Corporation, All Rights Reserved.

AlphaGeneration, DEC, DEC Fortran, DIGITAL, FX!32, OpenVMS, VAX, VAX FORTRAN, and the DIGITAL logo are trademarks of Digital Equipment Corporation. Acrobat and Adobe are registered trademarks of Adobe Systems Incorporated. ActiveX, Microsoft, MS, Microsoft Press, MS-DOS, NT, PowerPoint, Visual Basic, Visual C++, Visual J++, Visual Studio, Win32, Win32s, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. CRAY is a registered trademark of Cray Research, Inc. IBM is a registered trademark of International Business Machines, Inc. IEEE is a registered trademark of the Institute of Electrical and Electronics Engineers, Inc. IMSL is a trademark of Visual Numerics, Inc. Intel and Pentium are registered trademarks of Intel Corporation. OpenGL is a registered trademark of Silicon Graphics, Inc. Sun Microsystems is a registered trademark of Sun Microsystems, Inc.; Java is a trademark of Sun Microsystems, Inc. UNIX is a registered trademark in the United States and other countries licensed exclusively through X/Open Company Ltd. All other trademarks and registered trademarks are the property of their respective holders.


Contents
This document contains information on the following topics (this color denotes a link): o o o o o o o o o o o Visual Fortran Run-Time Messages Linker Tools Messages (LNKxxxx) BSCMAKE Messages (BKxxxx) C Run-Time Errors (Rxxxx) CVPACK Messages (CKxxxx) CVTRES Messages (CVTxxxx) Math Messages for x86 systems (M6xxx) NMAKE Messages (Uxxxx) Profiler Messages (PRFxxxx) Resource Compiler Messages (RCxxxx) Resource Compiler Messages (RWxxxx)


Visual Fortran Run-Time Errors

Page 1 of 48

Visual Fortran Run-Time Errors
This section describes Visual Fortran run-time error messages. For each error, the tables in the following sections provide the error number, the severity code, error message text, condition symbol name, and a detailed description of the errors. The severity of the message determines whether program execution continues: Severity Description severe Must be corrected. The program's execution is terminated when the error is encountered, unless the program's I/O statements use the END, EOR, or ERR branch specifiers to transfer control, perhaps to a routine that uses the IOSTAT specifier. Should be corrected. The program might continue execution, but the output from this execution may be incorrect. Should be investigated. The program continues execution, but output from this execution may be incorrect. For informational purposes only; the program continues.

error warning info

When a severe error occurs for which no recovery method (such as ERR, END, or EOR) is specified:
l The severe error message is displayed l A hexadecimal dump of the call stack (program counter trace) is displayed l Program execution stops

To prevent program terminationn of a severe error, consider including an I/O error-handling specifier (see Methods of Handling Errors). For information about where a message is displayed (depends on the project type) and related information, see Run-Time Message Display and Format . The following sections describe the run-time errors in detail:
l l l l l l l l l l

Run-Time Run-Time Run-Time Run-Time Run-Time Run-Time Run-Time Run-Time Run-Time Run-Time

Errors Errors Errors Errors Errors Errors Errors Errors Errors Errors

having no numbers and errors 1 through 30 31 through 60 61 through 108 120 through 300 540 through 569 570 through 614 615 through 656 657 through 689 690 through 719 720 through 759

Related topics (see the Programmer's Guide):


Visual Fortran Run-Time Errors

Page 2 of 48

l Default Run-Time Error Processing l Handling Run-Time Errors l Locating Run-Time Errors l Run-Time Environment Variables l The Floating-Point Environment

Run-Time Errors Having No Numbers and Errors 1 Through 30
This section describes in detail Visual Fortran run-time errors having no numbers and run-time error numbers 1 through 30. In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about the severity levels, see the Introduction. Number Severity Level, Number, and Message Text; Condition Symbol and Explanation None¹ info: Fortran error message number is nnn The DIGITAL Fortran message catalog file was not found on this system. This error has no condition symbol. None¹ warning: Could not open message catalog: for_msg.cat The DIGITAL Fortran message catalog file was not found on this system. This error has no condition symbol. None¹ Insufficient memory to open Fortran RTL catalog: message 41 The DIGITAL Fortran message catalog file could not be opened because of insufficient virtual memory. For more information, see error 41. This error has no condition symbol. 1¹ severe (1): Not a Fortran-specific error FOR$IOS_NOTFORSPE. An error in the user program or in the RTL was not a DIGITAL Fortran-specific error and was not reportable through any other DIGITAL


Visual Fortran Run-Time Errors

Page 3 of 48

Fortran run-time messages. 8 severe (8): Internal consistency check failure FOR$IOS_BUG_CHECK. Internal error. Please check that the program is correct. Recompile if an error existed in the program. If this error persists, submit a problem report. 9 severe (9): Permission to access file denied FOR$IOS_PERACCFIL. Check the permissions of the specified file and whether the network device is mapped and available. Make sure the correct file and device was being accessed. Change the protection, specific file, or process used before rerunning program. 10 severe (10): Cannot overwrite existing file FOR$IOS_CAVOVEEXI. Specified file xxx already exists when OPEN statement specified STATUS='NEW' (create new file) using I/O unix. Make sure correct file t name, directory path, unit, and so forth were specified in the source program. Decide whether to:
l Rename or remove the existing file before rerunning the program. l Modify the source file to specify different file specification, I/O unit, or OPEN

statement STATUS. 11 info (11)¹: Unit not connected FOR$IOS_UNINOTCON. The specified unit was not open at the time of the attempted I/O operation. Check if correct unit number was specified. If appropriate, use an OPEN statement to explicitly open the file (connect the file to the unit number). 17 severe (17): Syntax error in NAMELIST input FOR$IOS_SYNERRNAM. The syntax of input to a namelist-directed READ statement was incorrect. 18 severe (18): Too many values for NAMELIST variable FOR$IOS_TOOMANVAL. An attempt was made to assign too many values to a variable during a namelist READ statement. 19 severe (19): Invalid reference to variable in NAMELIST input FOR$IOS_INVREFVAR. One of the following conditions occurred:
l The variable was not a member of the namelist group. l An attempt was made to subscript a scalar variable. l A subscript of the array variable was out-of-bounds.


Visual Fortran Run-Time Errors

Page 4 of 48

l An array variable was specified with too many or too few subscripts for the l l l l

variable. An attempt name. A substring A subscript An attempt variable.

was made to specify a substring of a noncharacter variable or array specifier of the character variable was out-of-bounds. or substring specifier of the variable was not an integer constant. was made to specify a substring by using an unsubscripted array

20

severe (20): REWIND error FOR$IOS_REWERR. One of the following conditions occurred:
l The file was not a sequential file. l The file was not opened for sequential or append access. l The DIGITAL Fortran RTL I/O system detected an error condition during

execution of a REWIND statement. 21 severe (21): Duplicate file specifications FOR$IOS_DUPFILSPE. Multiple attempts were made to specify file attributes without an intervening close operation. A DEFINE FILE statement was followed by another DEFINE FILE statement or an OPEN statement 22 severe (22): Input record too long FOR$IOS_INPRECTOO. A record was read that exceeded the explicit or default record length specified when the file was opened. To read the file, use an OPEN statement with a RECL= value (record length) of the appropriate size. 23 severe (23): BACKSPACE error FOR$IOS_BACERR. The DIGITAL Fortran RTL I/O system detected an error condition during execution of a BACKSPACE statement. 24¹ severe (24): End-of-file during read FOR$IOS_ENDDURREA. One of the following conditions occurred:
l A DIGITAL Fortran RTL I/O system end-of-file condition was encountered

during execution of a READ statement that did not contain an END, ERR, or IOSTAT specification. l An end-of-file record written by the ENDFILE statement was encountered during execution of a READ statement that did not contain an END, ERR, or IOSTAT specification. l An attempt was made to read past the end of an internal file character string or array during execution of a READ statement that did not contain an END, ERR, or IOSTAT specification.


Visual Fortran Run-Time Errors

Page 5 of 48

This error is returned by END and ERRSNS. 25 severe (25): Record number outside range FOR$IOS_RECNUMOUT. A direct access READ, WRITE, or FIND statement specified a record number outside the range specified when the file was opened. 26 severe (26): OPEN or DEFINE FILE required FOR$IOS_OPEDEFREQ. A direct access READ, WRITE, or FIND statement was attempted for a file when no prior DEFINE FILE or OPEN statement with ACCESS='DIRECT' was performed for that file. 27 severe (27): Too many records in I/O statement FOR$IOS_TOOMANREC. An attempt was made to do one of the following:
l Read or write more than one record with an ENCODE or DECODE statement. l Write more records than existed.

28

severe (28): CLOSE error FOR$IOS_CLOERR. An error condition was detected by the DIGITAL Fortran RTL I/O system during execution of a CLOSE statement.

29

severe (29): File not found FOR$IOS_FILNOTFOU. A file with the specified name could not be found during an open operation.

30

severe (30): Open failure FOR$IOS_OPEFAI. An error was detected by the DIGITAL Fortran RTL I/O system while attempting to open a file in an OPEN, INQUIRE, or other I/O statement. This message is issued when the error condition is not one of the more common conditions for which specific error messages are provided. It can occur when an OPEN operation was attempted for one of the following:
l Segmented file that was not on a disk or a raw magnetic tape l Standard I/O file that had been closed

¹Identifies errors not returned by IOSTAT.

Run-Time Errors 31 Through 60
This section describes in detail Visual Fortran run-time errors 31 through 60.


Visual Fortran Run-Time Errors

Page 6 of 48

In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about severity levels, see the Introduction. Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 31 severe (31): Mixed file access modes FOR$IOS_MIXFILACC. An attempt was made to use any of the following combinations:
l Formatted and unformatted operations on the same unit l An invalid combination of access modes on a unit, such as direct and sequential l A DIGITAL Fortran RTL I/O statement on a logical unit that was opened by a

program coded in another language 32 severe (32): Invalid logical unit number FOR$IOS_INVLOGUNI. A logical unit number greater than 2,147,483,647 or less than zero was used in an I/O statement. 33 severe (33): ENDFILE error FOR$IOS_ENDFILERR. One of the following conditions occurred:
l l l l

The file was not a sequential organization file with variable-length records. The file was not opened for sequential or append access. An unformatted file did not contain segmented records. The DIGITAL Fortran RTL I/O system detected an error during execution of an ENDFILE statement.

34

severe (34): Unit already open FOR$IOS_UNIALROPE. A DEFINE FILE statement specified a logical unit that was already opened.

35

severe (35): Segmented record format error FOR$IOS_SEGRECFOR. An invalid segmented record control data word was detected in an unformatted sequential file. The file was probably either created with


Visual Fortran Run-Time Errors

Page 7 of 48

RECORDTYPE='FIXED' or 'VARIABLE' in effect, or was created by a program written in a language other than Fortran or Fortran 90. 36 severe (36): Attempt to access non-existent record FOR$IOS_ATTACCNON. A direct-access READ or FIND statement attempted to access beyond the end of a relative file (or a sequential file on disk with fixed-length records) or access a record that was previously deleted from a relative file. 37 severe (37): Inconsistent record length FOR$IOS_INCRECLEN. An attempt was made to open a direct access file without specifying a record length. 38 severe (38): Error during write FOR$IOS_ERRDURWRI. The DIGITAL Fortran RTL I/O system detected an error condition during execution of a WRITE statement. 39 severe (39): Error during read FOR$IOS_ERRDURREA. The DIGITAL Fortran RTL I/O system detected an error condition during execution of a READ statement. 40 severe (40): Recursive I/O operation FOR$IOS_RECIO_OPE. While processing an I/O statement for a logical unit, another I/O operation on the same logical unit was attempted, such as a function subprogram that performs I/O to the same logical unit that was referenced in an expression in an I/O list or variable format expression. 41 severe (41): Insufficient virtual memory FOR$IOS_INSVIRMEM. The DIGITAL Fortran RTL attempted to exceed its available virtual memory while dynamically allocating space. To overcome this problem, investigate increasing the data limit (Control Panel, System, Performance Tab, Virtual Memory). Before you try to run this program again, wait until the new system resources take effect. 42 severe (42): No such device FOR$IOS_NO_SUCDEV. A pathname included an invalid or unknown device name when an OPEN operation was attempted. 43 severe (43): File name specification error FOR$IOS_FILNAMSPE. A pathname or file name given to an OPEN or INQUIRE statement was not acceptable to the DIGITAL Fortran RTL I/O system. 44 severe (44): Inconsistent record type


Visual Fortran Run-Time Errors

Page 8 of 48

FOR$IOS_INCRECTYP. The RECORDTYPE value in an OPEN statement did not match the record type attribute of the existing file that was opened. 45 severe (45): Keyword value error in OPEN statement FOR$IOS_KEYVALERR. An improper value was specified for an OPEN or CLOSE statement specifier requiring a value. 46 severe (46): Inconsistent OPEN/CLOSE parameters FOR$IOS_INCOPECLO. Specifications in an OPEN or CLOSE statement were inconsistent. Some invalid combinations follow:
l READONLY or ACTION='READ' with STATUS='NEW' or

STATUS='SCRATCH'
l READONLY with STATUS='REPLACE', ACTION='WRITE', or

ACTION='READWRITE'
l ACCESS='APPEND' with READONLY, ACTION='READ', STATUS='NEW' l l l l l

or STATUS='SCRATCH' DISPOSE='SAVE', 'PRINT', or 'SUBMIT' wiith STATUS=' SCRATCH' DISPOSE='DELETE' with READONLY CLOSE statement STATUS='DELETE' with OPEN statement READONLY ACCESS='APPEND' with STATUS='REPLACE' ACCESS='DIRECT' or 'KEYED' with POSITION='APPEND', 'ASIS', or 'REWIND'

47

severe (47): Write to READONLY file FOR$IOS_WRIREAFIL. A write operation was attempted to a file that was declared ACTION='READ' or READONLY in the OPEN statement that is currently in effect.

48

severe (48): Invalid argument to Fortran Run-Time Library FOR$IOS_INVARGFOR. The compiler passed an invalid or improperly coded argument to the DIGITAL Fortran RTL. This can occur if the compiler is newer than the RTL in use.

51

severe (51): Inconsistent file organization FOR$IOS_INCFILORG. The file organization specified in an OPEN statement did not match the organization of the existing file.

53

severe (53): No current record FOR$IOS_NO_CURREC. Attempted to execute a REWRITE statement to rewrite a record when the current record was undefined. To define the current record, execute a successful READ statement. You can optionally perform an INQUIRE statement on the logical unit after the READ statement and before the REWRITE statement. No


Visual Fortran Run-Time Errors

Page 9 of 48

other operations on the logical unit may be performed between the READ and REWRITE statements. 55 severe (55): DELETE error FOR$IOS_DELERR. An error condition was detected by the DIGITAL Fortran RTL I/O system during execution of a DELETE statement. 57 severe (57): FIND error FOR$IOS_FINERR. The DIGITAL Fortran RTL I/O system detected an error condition during execution of a FIND statement. 58¹ info (58): Format syntax error at or near xx FOR$IOS_FMTSYN. Check the statement containing xx, a character substring from the format string, for a format syntax error. For more information, see the FORMAT statement. 59 severe (59): List-directed I/O syntax error FOR$IOS_LISIO_SYN². The data in a list-directed input record had an invalid format, or the type of the constant was incompatible with the corresponding variable. The value of the variable was unchanged. 60 severe (60): Infinite format loop FOR$IOS_INFFORLOO. The format associated with an I/O statement that included an I/O list had no field descriptors to use in transferring those values. ¹Identifies errors not returned by IOSTAT. ²The ERR transfer is taken after completion of the I/O statement for error number 59. The resulting file status and record position are the same as if no error had occurred. However, other I/O errors take the ERR transfer as soon as the error is detected, so file status and record position are undefined.

Run-Time Errors 61 Through 108
This section describes in detail Visual Fortran run-time errors 61 through 108. In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about the severity levels, see the Introduction.


Visual Fortran Run-Time Errors

Page 10 of 48

Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 61 severe or info¹ (61): Format/variable-type mismatch FOR$IOS_FORVARMIS². An attempt was made either to read or write a real variable with an integer field descriptor (I, L, O, Z, B), or to read or write an integer or logical variable with a real field descriptor (D, E, or F). To suppress this error message, see the description of /check:noformat. 62 severe (62): Syntax error in format FOR$IOS_SYNERRFOR. A syntax error was encountered while the RTL was processing a format stored in an array or character variable. 63 error or info¹ (63): Output conversion error FOR$IOS_OUTCONERR². During a formatted output operation, the value of a particular number could not be output in the specified field length without loss of significant digits. When this situation is encountered, the overflowed field is filled with asterisks to indicate the error in the output record. If no ERR address has been defined for this error, the program continues after the error message is displayed. To suppress this error message, see the description of /check:nooutput_conversion. 64 severe (64): Input conversion error FOR$IOS_INPCONERR². During a formatted input operation, an invalid character was detected in an input field, or the input value overflowed the range representable in the input variable. The value of the variable was set to zero. 65 error (65): Floating invalid FOR$IOS_FLTINV. During an arithmetic operation, the floating-point values used in a calculation were invalid for the type of operation requested or invalid exceptional values. For example, the error can occur if you request a log of the floating-point values 0.0 or a negative number. For certain arithmetic expressions, specifying the /check:nopower option can suppress this message. 66 severe (66): Output statement overflows record FOR$IOS_OUTSTAOVE. An output statement attempted to transfer more data than would fit in the maximum record size. 67 severe (67): Input statement requires too much data FOR$IOS_INPSTAREQ. Attempted to read more data than exists in a record with an unformatted READ statement or with a formatted sequential READ statement from a file opened with a PAD specifier value of 'NO'. 68 severe (68): Variable format expression value error


Visual Fortran Run-Time Errors

Page 11 of 48

FOR$IOS_VFEVALERR². The value of a variable format expression was not within the range acceptable for its intended use; for example, a field width was less than or equal to zero. A value of 1 was assumed, except for a P edit descriptor, for which a value of zero was assumed. 70¨ severe (70): Integer overflow FOR$IOS_INTOVF. During an arithmetic operation, an integer value exceeded byte, word, or longword range. The result of the operation was the correct low-order part. See the Data Representation chapter in the Programmer's Guide for ranges of the various integer data types. Consider specifying a larger integer data size (modify source program or, for an INTEGER declaration, possibly use the /integer_size:size option). 71¨ severe (71): Integer divide by zero FOR$IOS_INTDIV. During an integer arithmetic operation, an attempt was made to divide by zero. The result of the operation was set to the dividend, which is equivalent to division by 1. 72¨ error (72): Floating overflow FOR$IOS_FLTOVF. During an arithmetic operation, a floating-point value exceeded the largest representable value for that data type. See the Data Representation chapter in the Programmer's Guide for ranges of the various data types. 73¨ error (73): Floating divide by zero FOR$IOS_FLTDIV. During a floating-point arithmetic operation, an attempt was made to divide by zero. 74¨ error (74): Floating underflow FOR$IOS_FLTUND. During an arithmetic operation, a floating-point value became less than the smallest finite value for that data type. Depending on the values of the /fpe:n option, the underflowed result was either set to zero or allowed to gradually underflow. See the Data Representation chapter in the Programmer's Guide for ranges of the various data types. 75¨ error (75): Floating point exception FOR$IOS_SIGFPE. A floating-point exception occurred. Possible causes include:
l Division by zero l Overflow l An invalid operation, such as subtraction of infinite values, multiplication of zero

by infinity without signs), division of zero by zero or infinity by infinity
l Conversion of floating-point to fixed-point format when an overflow prevents

conversion


Visual Fortran Run-Time Errors

Page 12 of 48

77¨

severe (77): Subscript out of range FOR$IOS_SUBRNG. An array reference was detected outside the declared array bounds.

78¨

error (78): Process killed FOR$IOS_SIGTERM. The process received a signal requesting termination of this process. Determine source of this software termination signal.

79¨

error (79): Process quit FOR$IOS_SIGQUIT. The process received a signal requesting termination of itself. Determine source of this quit signal

95¨

info (95): Floating-point conversion failed FOR$IOS_FLOCONFAI. The attempted unformatted read or write of nonnative floating-point data failed because the floating-point value:
l Exceeded the allowable maximum value for the equivalent native format and was

set equal to infinity (plus or minus)
l Was infinity (plus or minus) and was set to infinity (plus or minus) l Was invalid and was set to not a number (NaN)

Very small numbers are set to zero (0). This error could be caused by the specified nonnative floating-point format not matching the floating-point format found in the specified file. Check the following:
l l l l

The correct file was specified. The record layout matches the format DIGITAL Fortran is expecting. The ranges for the data being used (see Data Representation). The correct nonnative floating-point data format was specified (seeConverting Unformatted Numeric Data).

108

Severe (108): Cannot stat file FOR$IOS_CANSTAFILE. Make sure correct file and unit were specified.

¹For errors 61 and 63, the severity depends on the /check:keywords used during compilation command. ²The ERR transfer is taken after completion of the I/O statement for error numbers 61, 63, 64, and 68. The resulting file status and record position are the same as if no error had occurred. However, other I/O errors take the ERR transfer as soon as the error is detected, so file status and record position are undefined. ¨Identifies errors not returned by IOSTAT.


Visual Fortran Run-Time Errors

Page 13 of 48

Run-Time Errors 120 Through 300
This section describes in detail Visual Fortran run-time errors 120 through 300. In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about the severity levels, see the Introduction. Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 120 severe (120): Operation requires seek ability FOR$IOS_OPEREQSEE. Attempted an operation on a file that requires the ability to perform seek operations on that file. Make sure the correct unit, directory path, and file were specified. 138¹ severe (138): Array index out of bounds FOR$IOS_BRK_RANGE. An array subscript is outside the dimensioned boundaries of that array. Recompile with the /check:bounds option set. 139¹ Severe: (139): Array index out of bounds for index nn FOR$IOS_BRK_RANGE2. An array subscript is outside the dimensioned boundaries of that array. Recompile with the /check:bounds option set. 140¹ severe (140): Floating inexact FOR$IOS_FLTINE. A floating-point arithmetic or conversion operation gave a result that differs from the mathematically exact result. This trap is reported if the rounded result of an IEEE operation is not exact. 144¹ severe (144): Reserved operand FOR$IOS_ROPRAND. The DIGITAL Fortran RTL encountered a reserved operand while executing your program. Please report the problem to DIGITAL. 145¹ severe (145): Assertion error FOR$IOS_ASSERTERR. The DIGITAL Fortran RTL encountered an assertion error. Please report the problem to DIGITAL.


Visual Fortran Run-Time Errors

Page 14 of 48

146¹

severe (146): Null pointer error FOR$IOS_NULPTRERR. Attempted to use a pointer that does not contain an address. Modify the source program, recompile, and relink.

147¹

severe (147): Stack overflow FOR$IOS_STKOVF. The DIGITAL Fortran RTL encountered a stack overflow while executing your program.

148¹

severe (148): String length error FOR$IOS_STRLENERR. During a string operation, an integer value appears in a context where the value of the integer is outside the permissible string length range. Recompile with the /check:bounds option.

149¹

severe (149): Substring error FOR$IOS_SUBSTRERR. An array subscript is outside the dimensioned boundaries of an array. Recompile with the /check:bounds option.

150¹

severe (150): Range error FOR$IOS_RANGEERR. An integer value appears in a context where the value of the integer is outside the permissible range.

151¹

severe (151): Allocatable array is already allocated FOR$IOS_INVREALLOC. An allocatable array must not already be allocated when you attempt to allocate it. You must deallocate the array before it can again be allocated.

152¹

severe (152): Unresolved contention for DEC Fortran RTL global resource FOR$IOS_RESACQFAI. Failed to acquire a DIGITAL Fortran RTL global resource for a reentrant routine. For a multithreaded program, the requested global resource is held by a different thread in your program. For a program using asynchronous handlers, the requested global resource is held by the calling part of the program (such as main program) and your asynchronous handler attempted to acquire the same global resource.

153¹

severe (153): Allocatable array or pointer is not allocated FOR$IOS_INVDEALLOC. A Fortran 90 allocatable array or pointer must already be allocated when you attempt to deallocate it. You must allocate the array or pointer before it can again be deallocated.

154¹

severe(154): Array index out of bounds FOR$IOS_RANGE. An array subscript is outside the dimensioned boundaries of that array. Recompile with the /check:bounds option set.


Visual Fortran Run-Time Errors

Page 15 of 48

155¹

severe(155): Array index out of bounds for index nn FOR$IOS_RANGE2. An array subscript is outside the dimensioned boundaries of that array. Recompile with the /check:bounds option set.

156¹

severe(156): GENTRAP code = hex dec FOR$IOS_DEF_GENTRAP. The DIGITAL Fortran RTL has detected an unknown GENTRAP code. The cause is most likely a software problem due to memory corruption, or software signalling an exception with an incorrect exception code. Try recompiling with the /check:bounds option set to see if that finds the problem.

157¹

severe(157): Program Exception - access violation FOR$IOS_ACCVIO. The program tried to read from or write to a virtual address for which it does not have the appropriate access. Try recompiling with the/check:bounds option set to see if the cause is an out-of-bounds memory reference. This is an operating system error. See your operating system documentation for more information.

158¹

severe(158): Program Exception - datatype misalignment FOR$IOS_DTYPE_MISALIGN. The DIGITAL Fortran RTL has detected data that is not aligned on a natural boundary for the data type specified. For example, a REAL(8) data item aligned on natural boundaries has an address that is a multiple of 8. To ensure naturally aligned data, use the /alignment option. For more information on alignment, see Data Alignment Considerations in the Programmer's Guide. This is an operating system error. See your operating system documentation for more information.

159¹

severe(159): Program Exception - breakpoint FOR$IOS_PGM_BPT. The DIGITAL Fortran RTL has encountered a breakpoint in the program. This is an operating system error. See your operating system documentation for more information.

160¹

severe(160): Program Exception - single step FOR$IOS_PGM_SS. A trace trap or other single-instruction mechanism has signaled that one instruction has been executed. This is an operating system error. See your operating system documentation for more information.

161¹

severe(161): Program Exception - array bounds exceeded


Visual Fortran Run-Time Errors

Page 16 of 48

FOR$IOS_PGM_BOUNDS. The program tried to access an array element that is outside the specified boundaries of the array. Recompile with the/check:bounds option set. 162¹ severe(162): Program Exception - denormal floating-point operand FOR$IOS_PGM_DENORM. A floating-point arithmetic or conversion operation has a denormalized number as an operand. A denormalized number is smaller than the lowest value in the normal range for the data type specified. See theData Representation chapter in the Programmer's Guide for ranges for floating-point types. Either locate and correct the source code causing the denormalized value or, if a denormalized value is acceptable, specify a different value for the /fpe compiler option to allow program continuation. 163¹ severe(163): Program Exception - floating stack check FOR$IOS_PGM_FLTSTK. During a floating-point operation, the floating-point register stack on x86 systems overflowed or underflowed. This is a fatal exception most likely caused by a compiler code generation error. Please report the problem to DIGITAL. 164¹ severe(164): Program Exception - integer divide by zero FOR$IOS_PGM_INTDIV. During an integer arithmetic operation, an attempt was made to divide by zero. Locate and correct the source code causing the integer divide by zero. 165¹ severe(165): Program Exception - integer overflow FOR$IOS_PGM_INTOVF. During an arithmetic operation, an integer value exceeded the largest representable value for that data type. See the Data Representation chapter in the Programmer's Guide for ranges for INTEGER types. This message appears when /check:overflow was specified and an integer overflow appears. 166¹ severe(166): Program Exception - privileged instruction FOR$IOS_PGM_PRIVINST. The program tried to execute an instruction whose operation is not allowed in the current machine mode. This is an operating system error. See your operating system documentation for more information. 167¹ severe(167): Program Exception - in page error


Visual Fortran Run-Time Errors

Page 17 of 48

FOR$IOS_PGM_INPGERR. The program tried to access a page that was not present, so the system was unable to load the page. For example, this error might occur if a network connection was lost while trying to run a program over the network. This is an operating system error. See your operating system documentation for more information. 168¹ severe(168): Program Exception - illegal instruction FOR$IOS_PGM_ILLINST. The program tried to execute an invalid instruction. This is an operating system error. See your operating system documentation for more information. 169¹ severe(169): Program Exception - noncontinuable exception FOR$IOS_PGM_NOCONTEXCP. The program tried to continue execution after a noncontinuable exception occurred. This is an operating system error. See your operating system documentation for more information. 170¹ severe(170): Program Exception - stack overflow FOR$IOS_PGM_STKOVF. The DIGITAL Fortran RTL has detected a stack overflow while executing your program. See your Release Notes for information on how to increase stack size. 171¹ severe(171): Program Exception - invalid disposition FOR$IOS_PGM_INVDISP. An exception handler returned an invalid disposition to the exception dispatcher. Programmers using a high-level language should never encounter this exception. This is an operating system error. See your operating system documentation for more information. 172¹ severe(172): Program Exception - exception code = hex dec FOR$IOS_PGM_EXCP_CODE. The DIGITAL Fortran RTL has detected an unknown exception code. This is an operating system error. See your operating system documentation for more information. 201¹ severe (201): Intel Pentium fdiv flaw detected, please update the processor


Visual Fortran Run-Time Errors

Page 18 of 48

FOR$IOS_FLAWEDPENT. The Fortran run-time system detected a flawed Pentium® processor. Please contact Intel® to upgrade your processor. To allow program execution to continue when this condition occurs, set the environment variable FOR_RUN_FLAWED_PENTIUM to true and rerun the program. For more information, see Intel Pentium Floating-Point Flaw . 256 severe (256): Unformatted I/O to unit open for formatted transfers FOR$IOS_UNFIO_FMT. Attempted unformatted I/O to a unit where the OPEN statement (FORM specifier) indicated the file was formatted. Check that the correct unit (file) was specified. If the FORM specifier was not present in the OPEN statement and the file contains unformatted data, specify FORM='UNFORMATTED'in the OPEN statement. Otherwise, if appropriate, use formatted I/O (such as list-directed or namelist I/O). 257 severe (257): Formatted I/O to unit open for unformatted transfers FOR$IOS_FMTIO_UNF. Attempted formatted I/O (such as list-directed or namelist I/O) to a unit where the OPEN statement indicated the file was unformatted (FORM specifier). Check that the correct unit (file) was specified. If the FORM specifier was not present in the OPEN statement and the file contains formatted data, specify FORM='FORMATTED' in the OPEN statement. Otherwise, if appropriate, use unformatted I/O. 264 severe (264): operation requires file to be on disk or tape FOR$IOS_OPEREQDIS. Attempted to use a BACKSPACE statement on such devices as a terminal. 265 severe (265): operation requires sequential file organization and access FOR$IOS_OPEREQSEQ. Attempted to use a BACKSPACE statement on a file whose organization was not sequential or whose access was not sequential. A BACKSPACE statement can only be used for sequential files opened for sequential access. 266¹ error (266): Fortran abort routine called FOR$IOS_PROABOUSE. The program called the abort routine to terminate itself. 268¹ severe (268): End of record during read FOR$IOS_ENDRECDUR. An end-of-record condition was encountered during execution of a nonadvancing I/O READ statement that did not specify the EOR branch specifier. 297¹ info (297): nn floating invalid traps FOR$IOS_FLOINVEXC. The total number of floating-point invalid data traps


Visual Fortran Run-Time Errors

Page 19 of 48

encountered during program execution was nn. This summary message appears at program completion. 298¹ info (298): nn floating overflow traps FOR$IOS_FLOOVFEXC. The total number of floating-point overflow traps encountered during program execution was nn. This summary message appears at program completion. 299¹ info (299): nn floating divide-by-zero traps FOR$IOS_FLODIV0EXC. The total number of floating-point divide-by-zero traps encountered during program execution was nn. This summary message appears at program completion. 300¹ info (300): nn floating underflow traps FOR$IOS_FLOUNDEXC. The total number of floating-point underflow traps encountered during program execution was nn. This summary message appears at program completion. ¹Identifies errors not returned by IOSTAT.

Run-Time Errors 540 Through 569
This section describes in detail Visual Fortran run-time errors 540 through 569. In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about severity levels, see the Introduction. Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 540 severe (540): Array or substring subscript expression out of range FOR$IOS_F6096. An expression used to index an array was smaller than the lower dimension bound or larger than the upper dimension bound. 541 severe (541): CHARACTER substring expression out of range FOR$IOS_F6097. An expression used to index a character substring was illegal. 542 severe (542): Label not found in assigned GOTO list


Visual Fortran Run-Time Errors

Page 20 of 48

FOR$IOS_F6098. The label assigned to the integer-variable name was not specified in the label list of the assigned GOTO statement. 543 severe (543): INTEGER arithmetic overflow FOR$IOS_F6099. This error occurs whenever integer arithmetic results in overflow. 544 severe (544): INTEGER overflow on input FOR$IOS_F6100. An integer item exceeded the legal size limits. An INTEGER(1) item must be in the range -127 to 128. An INTEGER(2) item must be in the range - 32,767 to 32,768. An INTEGER(4) item must be in the range 2,147,483,647 to 2,147,483,648. 545 severe (545): Invalid INTEGER FOR$IOS_F6101. Either an illegal character appeared as part of an integer, or a numeric character larger than the radix was used in an alternate radix specifier. 546 severe (546): REAL indefinite (uninitialized or previous error) FOR$IOS_F6102. An invalid real number was read from a file, an internal variable, or the console. This can happen if an invalid number is generated by passing an illegal argument to an intrinsic function -- for example, SQRT(-1) or ASIN(2). If the invalid result is written and then later read, the error will be generated. 547 severe (547): Invalid REAL FOR$IOS_F103. An illegal character appeared as part of a real number. 548 severe (548): REAL math overflow FOR$IOS_F6104. A real value was too large. Floating-point overflows in either direct or emulated mode generate NaN (Not-A-Number) exceptions, which appear in the output field as asterisks (*) or the letters NAN. 550 severe (550): INTEGER assignment overflow FOR$IOS_F6106. This error occurs when assignment to an integer is out of range. This message appears only if the /check:bounds option is used in compiling. 551 severe (551): Formatted I/O not consistent with OPEN options FOR$IOS_F6200. The program tried to perform formatted I/O on a unit opened with FORM='UNFORMATTED' or FORM='BINARY'. 552 severe (552): List-directed I/O not consistent with OPEN options FOR$IOS_F6201. The program tried to perform list-directed I/O on a file that was not


Visual Fortran Run-Time Errors

Page 21 of 48

opened with FORM='FORMATTED' and ACCESS='SEQUENTIAL'. 553 severe (553): Terminal I/O not consistent with OPEN options FOR$IOS_F6202. When a special device such as CON, LPT1, or PRN is opened in an OPEN statement, its access must be sequential and its format must be either formatted or binary. By default ACCESS='SEQUENTIAL' and FORM='FORMATTED' in OPEN statements. To generate this error the device's OPEN statement must contain an option not appropriate for a terminal device, such as ACCESS='DIRECT' or FORM='UNFORMATTED'. 554 severe (554): Direct I/O not consistent with OPEN options FOR$IOS_F6203. A REC= option was included in a statement that transferred data to a file that was opened with the ACCESS='SEQUENTIAL' option. 555 severe (555): Unformatted I/O not consistent with OPEN options FOR$IOS_F6204. If a file is opened with FORM='FORMATTED', unformatted or binary data transfer is prohibited. 556 severe (556): A edit descriptor expected for CHARACTER FOR$IOS_F6205. The A edit descriptor was not specified when a character data item was read or written using formatted I/O. 557 severe (557): E, F, D, or G edit descriptor expected for REAL FOR$IOS_F6206. The E, F, D, or G edit descriptor was not specified when a real data item was read or written using formatted I/O. 558 severe (558): I edit descriptor expected for INTEGER FOR$IOS_F6207. The I edit descriptor was not specified when an integer data item was read or written using formatted I/O. 559 severe (559): L edit descriptor expected for LOGICAL FOR$IOS_F6208. The L edit descriptor was not specified when a logical data item was read or written using formatted I/O. 560 severe (560): File already open: parameter mismatch FOR$IOS_F6209. An OPEN statement specified a connection between a unit and a filename that was already in effect. In this case, only the BLANK= option can have a different setting. 561 severe (561): Namelist I/O not consistent with OPEN options FOR$IOS_F6210. The program tried to perform namelist I/O on a file that was not opened with FORM='FORMATTED' and ACCESS='SEQUENTIAL'.


Visual Fortran Run-Time Errors

Page 22 of 48

562

severe (562): IOFOCUS option illegal with non-window unit FOR$IOS_F6211. IOFOCUS was specified in an OPEN or INQUIRE statement for a non-window unit. The IOFOCUS option can only be used when the unit opened or inquired about is a QuickWin child window.

563

severe (563): IOFOCUS option illegal without QuickWin FOR$IOS_F6212. IOFOCUS was specified in an OPEN or INQUIRE statement for a non-QuickWin application. The IOFOCUS option can only be used when the unit opened or inquired about is a QuickWin child window.

564

severe (564): TITLE illegal with non-window unit FOR$IOS_F6213. TITLE was specified in an OPEN or INQUIRE statement for a non-window unit. The TITLE option can only be used when the unit opened or inquired about is a QuickWin child window.

565

severe (565): TITLE illegal without QuickWin FOR$IOS_F6214. TITLE was specified in an OPEN or INQUIRE statement for a non-QuickWin application. The TITLE option can only be used when the unit opened or inquired about is a QuickWin child window.

566

severe (566): KEEP illegal for scratch file FOR$IOS_F6300. STATUS='KEEP' was specified for a scratch file; this is illegal because scratch files are automatically deleted at program termination.

567

severe (567): SCRATCH illegal for named file FOR$IOS_F6301. STATUS='SCRATCH' should not be used in a statement that includes a filename.

568

severe (568): Multiple radix specifiers FOR$IOS_F6302. More than one alternate radix for numeric I/O was specified. F6302 can indicate an error in spacing or a mismatched format for data of different radices.

569

severe (569): Illegal radix specifier FOR$IOS_F6303. A radix specifier was not between 2 radix constants must be of the form n#ddd... where n is and ddd... are digits with values less than the radix. For valid constants with valid radix specifiers. 245#7A and specifiers and generate error 569 if input. and 36, inclusive. Alternate a radix from 2 to 36 inclusive example, 3#12 and 34#7AX are 39#12 do not have valid radix

Run-Time Errors 570 Through 614


Visual Fortran Run-Time Errors

Page 23 of 48

This section describes in detail Visual Fortran run-time errors 570 through 614. In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about severity levels, see the Introduction. Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 570 severe (570): Illegal STATUS value FOR$IOS_F6304. An illegal value was used with the STATUS= option. STATUS= accepts the following values:
l 'KEEP' or 'DELETE' when us with CLOSE ed l 'OLD', 'NEW', 'SCRATCH', or 'UNKNOWN' when used with OPEN

571

severe (571): Illegal MODE value FOR$IOS_F6305. An illegal value was used with the MODE= option. MODE= accepts the values 'READ', 'WRITE', or 'READWRITE'.

572

severe (572): Illegal ACCESS value FOR$IOS_F6306. An illegal value was used with the ACCESS= option. ACCESS= accepts the values 'SEQUENTIAL' and 'DIRECT'.

573

severe (573): Illegal BLANK value FOR$IOS_F6307. An illegal value was used with the BLANK= option. BLANK= accepts the values 'NULL' and 'ZERO'.

574

severe (574): Illegal FORM value FOR$IOS_F6308. An illegal value was used with the FORM= o ption. FORM= accepts the following values: 'FORMATTED', 'UNFORMATTED', and 'BINARY'.


Visual Fortran Run-Time Errors

Page 24 of 48

575

severe (575): Illegal SHARE value FOR$IOS_F6309. An illegal value was used with the SHARE= option. SHARE= accepts the values 'COMPAT', 'DENYRW', 'DENYWR', 'DENYRD', and 'DENYNONE'.

577

severe (577): Illegal record number FOR$IOS_F6311. An invalid number was specified as the record number for a directaccess file. The first valid record number for direct-access files is 1.

578

severe (578): No unit number associated with * FOR$IOS_F6312. In an INQUIRE statement, the NUMBER= option was specified for the file associated with * (console).

580

severe (580): Illegal unit number FOR$IOS_F6314. An illegal unit number was specified. Legal unit numbers can range from 0 through 2**31-1, inclusive.

581

severe (581): Illegal RECL value FOR$IOS_F6315. A negative or zero record length was specified for a direct file. The smallest valid record length for direct files is 1.

582

severe (582): Array already allocated FOR$IOS_F6316. The program attempted to ALLOCATE an already allocated array.

583

severe (583): Array size zero or negative FOR$IOS_F6317. The size specified for an array in an ALLOCATE statement must be greater than zero.

584

severe (584): Non-HUGE array exceeds 64K FOR$IOS_F6318.

585

severe (585): Array not allocated FOR$IOS_F6319. The program attempted to DEALLOCATE an array that was never allocated.

586

severe (586): BACKSPACE illegal on terminal device


Visual Fortran Run-Time Errors

Page 25 of 48

FOR$IOS_F6400. A BACKSPACE statement specified a unit connected to a terminal device such as a terminal or printer. 587 severe (587): EOF illegal on terminal device FOR$IOS_F6401. An EOF intrinsic function specified a unit connected to a terminal device such as a terminal or printer. 588 severe (588): ENDFILE illegal on terminal device FOR$IOS_F6402. An ENDFILE statement specified a unit connected to a terminal device such as a terminal or printer. 589 severe (589): REWIND illegal on terminal device FOR$IOS_F6403. A REWIND statement specified a unit connected to a terminal device such as a terminal or printer. 590 severe (590): DELETE illegal for read-only file FOR$IOS_F6404. A CLOSE statement specified STATUS='DELETE' for a read-only file. 591 severe (591): External I/O illegal beyond end of file FOR$IOS_F6405. The program tried to access a file after executing an ENDFILE statement or after it encountered the end-of-file record during a read operation. A BACKSPACE, REWIND, or OPEN statement must be used to reposition the file before execution of any I/O statement that transfers data. 592 severe (592): Truncation error: file closed FOR$IOS_F6406. 593 severe (593): Terminal buffer overflow FOR$IOS_F6407. More than 131 characters were input to a record of a unit connected to the terminal (keyboard). Note that the operating system may impose additional limits on the number of characters that can be input to the terminal in a single record. 594 severe (594): Comma delimiter disabled after left repositioning FOR$IOS_F6408. If you have record lengths that exceed the buffer size associated with the record, (for instance, the record is a file with the buffer set by BLOCKSIZE= in the OPEN statement), either you should not do left tabbing within the record, or you should not use commas as field delimiters. This is because commas are disabled as input field delimiters if left tabbing leaves the record positioned in a previous buffer.


Visual Fortran Run-Time Errors

Page 26 of 48

For example, consider you have a file LONG.DAT that is one continuous record with data fields separated by commas. You then set the buffer associated with the file to 512 bytes, read more than one buffer size of data, tab left to data in the previous buffer, and attempt to read further data, as follows:
INTEGER value(300) OPEN (1, FILE = 'LONG.DAT', BLOCKSIZE = 512) READ (1, 100) (value(i), i = 1, 300) 100 FORMAT (290I2,TL50,10I2)

In this case, error 594 occurs. 599 severe (599): File already connected to a different unit FOR$IOS_F6413. The program tried to connect an already connected file to a new unit. A file can be connected to only one unit at a time. 600 severe (600): Access not allowed FOR$IOS_F6414. This error can be caused by one of the following:
l The filename specified in an OPEN statement was a directory. l An OPEN statement tried to open a read-only file for writing. l The file was opened with SHARE=DENYRW' by another process.

601

severe (601): File already exists FOR$IOS_F6415. An OPEN statement specified STATUS='NEW' for a file that already exists.

602

severe (602): File not found FOR$IOS_F6416. An OPEN statement specified STATUS='OLD' for a file that does not exist.

603

severe (603): Too many open files FOR$IOS_F6417. The program exceeded the number of open files the operating system allows.

604

severe (604): Too many units connected FOR$IOS_F6418. The program exceeded the number of units that can be connected at one time. Units are connected with the OPEN statement.


Visual Fortran Run-Time Errors

Page 27 of 48

605

severe (605): Illegal structure for unformatted file FOR$IOS_F6419. The file was opened with FORM='UNFORMATTED' and ACCESS='SEQUENTIAL', but its internal physical structure was incorrect or inconsistent. Possible causes: the file was created in another mode or by a non-Fortran program.

606

severe (606): Unknown unit number FOR$IOS_F6420. A statement such as BACKSPACE or ENDFILE specified a file that had not yet been opened. (The READ and WRITE statements do not cause this problem because they prompt you for a file if the file has not been opened yet.)

607

severe (607): File read-only or locked against writing FOR$IOS_F6421. The program tried to transfer data to a file that was opened in readonly mode or locked against writing. The error message may indicate a CLOSE error when the fault is actually coming from WRITE. This is because the error is not discovered until the program tries to write buffered data when it closes the file.

608

severe (608): No space left on device FOR$IOS_F6422. The program tried to transfer data to a file residing on a device (such as a hard disk) that was out of storage space.

609

severe (609): Too many threads FOR$IOS_F6423. Too many threads were active simultaneously. At most, 32 threads can be active at one time. Close any unnecessary processes or child windows within your application.

610

severe (610): Invalid argument FOR$IOS_F6424.

611

severe (611): BACKSPACE illegal for SEQUENTIAL write-only files FOR$IOS_F6425. The BACKSPACE statement is not allowed in files opened with MODE=WRITE (write-only status) because BACKSPACE requires reading the previous record in the file to provide positioning. Resolve the problem by giving the file read access or by avoiding the BACKSPACE statement. Note that the REWIND statement is valid for files opened as write-only.


Visual Fortran Run-Time Errors

Page 28 of 48

612

severe (612): File not open for reading or file locked FOR$IOS_F6500. The program tried to read from a file that was not opened for reading or was locked.

613

severe (613): End of file encountered FOR$IOS_F6501. The program tried to read more data than the file contains.

614

severe (614): Positive integer expected in repeat field FOR$IOS_F6502. When the i*c form is used in list-directed input, the i must be a positive integer. For example, consider the following statement:
READ(*,*) a, b

Input 2*56.7 is accepted, but input 2.1*56.7 returns error 614.

Run-Time Errors 615 Through 656
This section describes in detail Visual Fortran run-time errors 615 through 656. In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about severity levels, see the Introduction. Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 615 severe (615): Multiple repeat field FOR$IOS_F6503. In list-directed input of the form i*c, an extra repeat field was used. For example, consider the following:
READ(*,*) I, J, K

Input of 2*1*3 returns this error. The 2*1 means send two values, each 1; the *3 is an error. 616 severe (616): Invalid number in input FOR$IOS_F6504. Some of the values in a list-directed input record were not numeric.


Visual Fortran Run-Time Errors

Page 29 of 48

For example, consider the following:
READ(*,*) I, J

The preceding statement would cause this error if the input were: 123 'abc'. 617 severe (617): Invalid string in input FOR$IOS_F6505. A string item was not enclosed in single quotation marks. 618 severe (618): Comma missing in COMPLEX input FOR$IOS_F6506. When using list-directed input, the real and imaginary components of a complex number were not separated by a comma. 619 severe (619): T or F expected in LOGICAL read FOR$IOS_F6507. The wrong format was used for the input field for logical data. The input field for logical data consists of optional blanks, followed by an optional decimal point, followed by a T for true or F for false. The T or F may be followed by additional characters in the field, so that .TRUE. and .FALSE. are acceptable input forms. 620 severe (620): Too many bytes read from unformatted record FOR$IOS_F6508. The program tried to read more data from an unformatted file than the current record contained. If the program was reading from an unformatted direct file, it tried to read more than the fixed record length as specified by the RECL= option. If the program was reading from an unformatted sequential file, it tried to read more data than was written to the record. 621 severe (621): H or apostrophe edit descriptor illegal on input FOR$IOS_F6509. Hollerith (H) or apostrophe edit descriptors were encountered in a format used by a READ statement. 622 severe (622): Illegal character in hexadecimal input FOR$IOS_F6510. The input field contained a character that was not hexadecimal. Legal hexadecimal characters are 0 - 9 and A - F. 623 severe (623): Variable name not found FOR$IOS_F6511. A name encountered on input from a namelist record is not declared in the corresponding NAMELIST statement. 624 severe (624): Invalid NAMELIST input format FOR$IOS_F6512. The input record is not in the correct form for namelist input.


Visual Fortran Run-Time Errors

Page 30 of 48

625

severe (625): Wrong number of array dimensions FOR$IOS_F6513. In namelist input, an array name was qualified with a different number of subscripts than its declaration, or a non-array name was qualified.

626

severe (626): Array subscript exceeds allocated area FOR$IOS_F6514. A subscript was specified in namelist input which exceeded the declared dimensions of the array.

627

severe (627): Invalid subrange in NAMELIST input FOR$IOS_F6515. A character item in namelist input was qualified with a subrange that did not meet the requirement that 1 <= e1 <= e2 <= len (where "len" is the length of the character item, "e1" is the leftmost position of the substring, and "e2" is the rightmost position of the substring).

628

severe (628): Substring range specified on non-CHARACTER item FOR$IOS_F6516. A non-CHARACTER item in namelist input was qualified with a substring range.

629

severe (629): Internal file overflow FOR$IOS_F6600. The program either overflowed an internal-file record or tried to write to a record beyond the end of an internal file.

630

severe (630): Direct record overflow FOR$IOS_F6601. The program tried to write more than the number of bytes specified in the RECL= option to an individual record of a direct-access file.

631

severe (631):Numeric field bigger than record size FOR$IOS_F6602. The program tried to write a noncharacter item across a record boundary in list-directed or namelist output. Only character constants can cross record boundaries.

632

severe (632): Heap space limit exceeded FOR$IOS_F6700. The program ran out of heap space. The ALLOCATE statement and various internal functions allocate memory from the heap. This error will be generated when the last of the heap space is used up.

633

severe (633): Scratch file name limit exceeded FOR$IOS_F6701. The program exhausted the template used to generate unique scratch-file names. The maximum number of scratch files that can be open at one time is 26.


Visual Fortran Run-Time Errors

Page 31 of 48

634

severe (634): D field exceeds W field in ES edit descriptor FOR$IOS_F6970. The specified decimal length D exceeds the specified total field width W in an ES edit descriptor.

635

severe (635): D field exceeds W field in EN edit descriptor FOR$IOS_F6971. The specified decimal lengthD exceeds the specified total field width W in an EN edit descriptor.

636

severe (636): Exponent of 0 not allowed in format FOR$IOS_F6972.

637

severe (637): Integer expected in format FOR$IOS_F6980. An edit descriptor lacked a required integer value. For example, consider the following:
WRITE(*, 100) I, J 100 FORMAT (I2, TL, I2)

The preceding code will cause this error because an integer is expected after TL. 638 severe (638): Initial left parenthesis expected in format FOR$IOS_F6981. A format did not begin with a left parenthesis (( ). 639 severe (639): Positive integer expected in format FOR$IOS_F6982. A zero or negative integer value was used in a format. Negative integer values can appear only with the P edit descriptor. Integer values of 0 can appear only in the d and m fields of numeric edit descriptors. 640 severe (640): Repeat count on nonrepeatable descriptor FOR$IOS_F6983. One or more BN, BZ, S, SS, SP, T, TL, TR, /, $, : , or apostrophe (') edit descriptors had repeat counts associated with them. 641 severe (641): Integer expected preceding H, X, or P edit descriptor FOR$IOS_F6984. An integer did not precede a (nonrepeatable) H, X, or P edit descriptor. The correct formats for these descriptors are nH, nX, and kP, respectively, where n is a positive integer and k is an optionally signed integer. 642 severe (642): N or Z expected after B in format


Visual Fortran Run-Time Errors

Page 32 of 48

FOR$IOS_F6985. To control interpretation of embedded and trailing blanks within numeric input fields, you must specify BN (to ignore them) or BZ (to interpret them as zeros). 643 severe (643): Format nesting limit exceeded FOR$IOS_F6986. More than 16 sets of parentheses were nested inside the main level of parentheses in a format. 644 severe (644): '.' expected in format FOR$IOS_F6987. No period appeared between the w and d fields of a D, E, F, or G edit descriptor. 645 severe (645): Unexpected end of format FOR$IOS_F6988. An incomplete format was used. Improperly matched parentheses, an unfinished Hollerith (H) descriptor, or another incomplete descriptor specification can cause this error. 646 severe (646): Unexpected character in format FOR$IOS_F6989. A character that cannot be interpreted as part of a valid edit descriptor was used in a format. For example, consider the following:
WRITE(*, 100) I, J 100 FORMAT (I2, TL4.5, I2)

The code will generate this error because TL4.5 is not a valid edit descriptor. An integer must follow TL. 647 severe (647): M field exceeds W field in I edit descriptor FOR$IOS_F6990. In syntax Iw.m, the value of m cannot exceed the value of w. 648 severe (648): Integer out of range in format FOR$IOS_F6991. An integer value specified in an edit descriptor was too large to represent as a 4-byte integer. 649 severe (649): format not set by ASSIGN FOR$IOS_F6992. The format specifier in a READ, WRITE, or PRINT statement was an integer variable, but an ASSIGN statement did not properly assign it the statement label of a FORMAT statement in the same program unit. 650 severe (650): Separator expected in format FOR$IOS_F6993. Within format specifications, edit descriptors must be separated by


Visual Fortran Run-Time Errors

Page 33 of 48

commas or slashes (/). 651 severe (651): %c or $: nonstandard edit descriptor in format FOR$IOS_F6994. 652 severe (652): Z: nonstandard edit descriptor in format FOR$IOS_F6995. Z is not a standard edit descriptor in format. If you want to transfer hexadecimal values, you must use the edit descriptor form Zw [.m], where w is the field width and m is the minimum number of digits that must be in the field (including leading zeros). 653 severe (653): DOS graphics not supported under Windows NT FOR$IOS_F6996. 654 severe (654): Graphics error FOR$IOS_F6997. An OPEN statement in which IOFOCUS was TRUE, either explicitly or by default, failed because the new window could not receive focus. The window handle may be invalid, or closed, or there may be a memory resource problem. 655 severe (655): Using QuickWin is illegal in console application FOR$IOS_F6998. A call to QuickWin from a console application was encountered during execution. 656 severe (656): Illegal 'ADVANCE' value FOR$IOS_F6999. The ADVANCE= option can only take the values 'YES' and 'NO'. ADVANCE='YES' is the default .ADVANCE= is a READ statement option.

Run-Time Errors 657 Through 689
This section describes in detail Visual Fortran run-time errors 657 through 689. In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about severity levels, see the Introduction.


Visual Fortran Run-Time Errors

Page 34 of 48

Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 657 severe (657): DIM argument to SIZE out of range FOR$IOS_F6702. The argument specified for DIM must be greater than or equal to 1, and less than or equal to the number of dimensions in the specified array. Consider the following:
i = SIZE (array, DIM = dim)

In this case, 1 <= dim <= n, where n is the number of dimensions in array. 658 severe (657): Undefined POINTER used as argument to ASSOCIATED function FOR$IOS_F6703. A POINTER used as an argument to the ASSOCIATED function must be defined; that is, assigned to a target, allocated, or nullified. 659 severe (659): Reference to uninitialized POINTER FOR$IOS_F6704. Except in an assignment statement, a pointer must not be referenced until it has been initialized: assigned to a target, allocated or nullified. 660 severe (660): Reference to POINTER which is not associated FOR$IOS_F6705. Except in an assignment statement and certain procedure references, a pointer must not be referenced until it has been associated: either assigned to a target or allocated. 661 severe (661): Reference to uninitialized POINTER 'pointer' FOR$IOS_F6706. Except in an assignment statement, a pointer must not be referenced until it has been initialized: assigned to a target, allocated or nullified. 662 severe (662): reference to POINTER 'pointer' which is not associated FOR$IOS_F6707. Except in an assignment statement and certain procedure references, a pointer must not be referenced until it has been associated: either assigned to a target or allocated. 663 severe (663): Out of range: substring starting position 'pos' is less than 1 FOR$IOS_F6708. A substring starting position must be a positive integer variable or expression that indicates a position in the string: at least 1 and no greater than the length of the string. 664 severe (664): Out of range: substring ending position 'pos' is greater than string


Visual Fortran Run-Time Errors

Page 35 of 48

length 'len' FOR$IOS_F6709. A substring ending position must be a positive integer variable or expression that indicates a position in the string: at least 1 and no greater than the length of the string. 665 severe (665): Subscript 'n' of 'str' (value 'val') is out of range ('first:last') FOR$IOS_F6710. The subscript for a substring within a string is not a valid string position: at least 1 and no greater than the length of the string. 666 severe (666): Subscript 'n' of 'str' (value 'val') is out of range ('first:*') FOR$IOS_F6711. The subscript for a substring within a string is not a valid string position: at least 1 and no greater than the length of the string. 667 severe (667): VECTOR argument to PACK has incompatible character length FOR$IOS_F6712. The character length of elements in the VECTOR argument to PACK is not the same as the character length of elements in the array to be packed. 668 severe (668): VECTOR argument to PACK is too small FOR$IOS_F6713. The VECTOR argument to PACK must have at least as many elements as there are true elements in MASK (the array that controls packing). 669 severe (669): SOURCE and PAD arguments to RESHAPE have different character lengths FOR$IOS_F6714. The character length of elements in the SOURCE and PAD arguments to PACK must be the same. 670 severe (670): Element 'n' of SHAPE argument to RESHAPE is negative FOR$IOS_F6715. The SHAPE vector specifies the shape of the reshaped array. Since an array cannot have a negative dimension, SHAPE cannot have a negative element. 671 severe (671): SOURCE too small for specified SHAPE in RESHAPE, and no PAD FOR$IOS_F6716. If there is no PAD array, the SOURCE argument to RESHAPE must have enough elements to make an array of the shape specified by SHAPE. 672 severe (672): Out of memory FOR$IOS_F6717. The system ran out of memory while trying to make the array specified by RESHAPE. If possible, reset your virtual memory size through the Windows Control Panel, or close unneccessary applications and deallocate all allocated arrays that are no longer needed. 673 severe (673): SHAPE and ORDER arguments to RESHAPE have different sizes


Visual Fortran Run-Time Errors

Page 36 of 48

('size1' and 'size2') FOR$IOS_F6718. ORDER specifies the order of the array dimensions given in SHAPE, and they must be vectors of the same size. 674 severe (674): Element 'n' of ORDER argument to RESHAPE is out of range ('range') FOR$IOS_F6719. The ORDER argument specifies the order of the dimensions of the reshaped array, and it must be a permuted list of (1, 2, ..., n) where n is the highest dimension in the reshaped array. 675 severe (675): Value 'val' occurs twice in ORDER argument to RESHAPE FOR$IOS_F6720. The ORDER vector specifies the order of the dimensions of the reshaped array, and it must be a permuted list of (1, 2, ..., n) where n is the highest dimension in the reshaped array. No dimension can occur twice. 676 severe (676): Impossible nextelt overflow in RESHAPE FOR$IOS_F6721. 677 severe (677): Invalid value 'dim' for argument DIM for SPREAD of rank 'rank' source FOR$IOS_F6722. The argument specified for DIM to SPREAD must be greater than or equal to 1, and less than or equal to one larger than the number of dimensions (rank) of SOURCE. Consider the following statement:
result = SPREAD (SOURCE= array, DIM = dim, NCOPIES = k)

In this case, 1 <= dim <= n + 1, where n is the number of dimensions in array. 678 severe (678): Complex zero raised to power zero FOR$IOS_F6723. Zero of any type (complex, real, or integer) cannot be raised to zero power. 679 severe (679): Complex zero raised to negative power FOR$IOS_F6724. Zero of any type (complex, real, or integer) cannot be raised to a negative power. Raising to a negative power inverts the operand. 680 severe (680): Impossible error in NAMELIST input FOR$IOS_F6725. 681 severe (681):DIM argument to CSHIFT ('dim') is out of range FOR$IOS_F6726. The optional argument DIM specifies the dimension along which to perform the circular shift, and must be greater than or equal to 1 and less than or equal


Visual Fortran Run-Time Errors

Page 37 of 48

to the number of dimensions in the array to be shifted. That is, 1 <=DIM <= n, where n is the number of dimensions in the array to be shifted. 682 severe (682): DIM argument ('dim') to CSHIFT is out of range (1:'n') FOR$IOS_F6727. The optional argument DIM specifies the dimension along which to perform the circular shift, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array to be shifted. That is, 1 <=DIM <= n, where n is the number of dimensions in the array to be shifted. 683 severe (683): Shape mismatch (dimension 'dim') between ARRAY and SHIFT in CSHIFT FOR$IOS_F6728. The SHIFT argument to CSHIFT must be either scalar or an array one dimension smaller than the shifted array. If an array, the shape of the SHIFT must conform to the shape of the array being shifted in every dimension except the one being shifted along. 684 severe (684): Internal error - bad arguments to CSHIFT_CA FOR$IOS_F6729. 685 severe (685): Internal error - bad arguments to CSHIFT_CAA FOR$IOS_F6730. 686 severe (686): DATE argument to DATE_AND_TIME is too short (LEN='len') FOR$IOS_F6731. The character DATE argument must have a length of at least 8 to contain the complete value. 687 severe (687): TIME argument to DATE_AND_TIME is too short (LEN='len') FOR$IOS_F6732. The character TIME argument must have a length of at least 10 to contain the complete value. 688 severe (688): ZONE argument to DATE_AND_TIME is too short (LEN='len') FOR$IOS_F6733. The character ZONE argument must have a length of at least 5 to contain the complete value. 689 severe (689): VALUES argument to DATE_AND_TIME is too small ('size' elements) FOR$IOS_F6734. The integer VALUES argument must be a one-dimensional array with a size of at least 8 to hold all returned values.

Run-Time Errors 690 Through 719
This section describes in detail Visual Fortran run-time errors 690 through 719.


Visual Fortran Run-Time Errors

Page 38 of 48

In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about severity levels, see the Introduction. Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 690 severe (690): Out of range: DIM argument to COUNT has value 'dim' FOR$IOS_F6735. The optional argument DIM specifies the dimension along which to count true elements of MASK , and must be greater than or equal to 1 and less than or equal to the number of dimensions in MASK . That is, 1 <= DIM <= n, where n is the number of dimensions in MASK. 691 severe (691): Out of range: DIM argument to COUNT has value 'dim' with MASK of rank 'rank' FOR$IOS_F6736. The optional argument DIM specifies the dimension along which to count true elements of MASK , and must be greater than or equal to 1 and less than or equal to the number of dimensions (rank) in MASK . That is, 1 <= DIM <= n, where n is the number of dimensions in MASK . 692 severe (692): Out of range: DIM argument to PRODUCT has value 'dim' FOR$IOS_F6737. The optional argument DIM specifies the dimension along which to compute the product of elements in an array, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array holding the elements to be multiplied. 693 severe (693): Out of range: DIM argument to PRODUCT has value 'dim' with ARRAY of rank 'rank' FOR$IOS_F6738. The optional argument DIM specifies the dimension along which to compute the product of elements in an array, and must be greater than or equal to 1 and less than or equal to the number of dimensions (rank) of the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array holding the elements to be multiplied. 694 severe (694): Out of range: DIM argument to SUM has value 'dim' with ARRAY of


Visual Fortran Run-Time Errors

Page 39 of 48

rank 'rank' FOR$IOS_F6739. The optional argument DIM specifies the dimension along which to sum the elements of an array, and must be greater than or equal to 1 and less than or equal to the number of dimensions (rank) of the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array holding the elements to be summed. 695 severe (695): Real zero raised to zero power FOR$IOS_F6740. Zero of any type (real, complex, or integer) cannot be raised to zero power. 696 severe (696): Real zero raised to negative power FOR$IOS_F6741. Zero of any type (real, complex, or integer) cannot be raised to a negative power. Raising to a negative power inverts the operand. 697 severe (697): Out of range: DIM argument to SUM has value 'dim' FOR$IOS_F6742. The optional argument DIM specifies the dimension along which to sum the elements of an array, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array holding the elements to be summed. 698 severe (698): DIM argument ('dim') to EOSHIFT is out of range (1:'n') FOR$IOS_F6743. The optional argument DIM specifies the dimension along which to perform an end-off shift in an array, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array holding the elements to be shifted. 699 severe (699): Shape mismatch (dimension 'dim') between ARRAY and BOUNDARY in EOSHIFT FOR$IOS_F6744. The BOUNDARY argument to EOSHIFT must be either scalar or an array one dimension smaller than the shifted array. If an array, the shape of the BOUNDARY must conform to the shape of the array being shifted in every dimension except the one being shifted along. 700 severe (700): DIM argument to EOSHIFT is out of range ('dim') FOR$IOS_F6745. The optional argument DIM specifies the dimension along which to perform an end-off shift in an array, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array holding the elements to be shifted. 701 severe (701): Shape mismatch (dimension 'dim') between ARRAY and SHIFT in


Visual Fortran Run-Time Errors

Page 40 of 48

EOSHIFT FOR$IOS_F6746. The SHIFT argument to EOSHIFT must be either scalar or an array one dimension smaller than the shifted array. If an array, the shape of the SHIFT must conform to the shape of the array being shifted in every dimension except the one being shifted along. 702 severe (702): BOUNDARY argument to EOSHIFT has wrong LEN ('len1 instead of len2') FOR$IOS_F6747. The character length of elements in the BOUNDARY argument and in the array being end-off shifted must be the same. 703 severe (703): BOUNDARY has LEN 'len' instead of 'len' to EOSHIFT FOR$IOS_F6748. 704 severe (704): Internal error - bad arguments to EOSHIFT FOR$IOS_F6749. 705 severe (705): GETARG: value of argument 'num' is out of range FOR$IOS_F6750. The value used for the number of the command-line argument to retrieve with GETARG must be 0 or a positive integer. If the number of the argument to be retrieved is greater than the actual number of arguments, blanks are returned, but no error occurs. 706 severe (706): FLUSH: value of LUNIT 'num' is out of range FOR$IOS_F6751. The unit number specifying which I/O unit to flush to its associated file must be an integer between 0 and 2**31-1, inclusive. If the unit number is valid, but the unit is not opened, error F6752 is generated. 707 severe (707): FLUSH: Unit 'n' is not connected FOR$IOS_F6752. The I/O unit specified to be flushed to its associated file is not connected to a file. 708 severe (708): Invalid string length ('len') to ICHAR FOR$IOS_F6753. The character argument to ICHAR must have length 1. 709 severe (709): Invalid string length ('len') to IACHAR FOR$IOS_F6754. The character argument to IACHAR must have length 1. 710 severe (710): Integer zero raised to negative power FOR$IOS_F6755. Zero of any type (integer, real, or complex) cannot be raised to a negative power. Raising to a negative power inverts the operand.


Visual Fortran Run-Time Errors

Page 41 of 48

711

severe (711): INTEGER zero raised to zero power FOR$IOS_F6756. Zero of any type (integer, real, or complex) cannot be raised to zero power.

712

severe (712): SIZE argument ('size') to ISHFTC intrinsic out of range FOR$IOS_F6757. The argument SIZE must be positive and must not exceed the bit size of the integer being shifted. The bit size of this integer can be determined with the function BIT_SIZE.

713

severe (713): SHIFT argument ('shift') to ISHFTC intrinsic out of range FOR$IOS_F6758. The argument SHIFT to ISHFTC must be an integer whose absolute value is less than or equal to the number of bits being shifted: either all bits in the number being shifted or a subset specified by the optional argument SIZE.

714

severe (714): Out of range: DIM argument to LBOUND has value 'dim' FOR$IOS_F6759. The optional argument DIM specifies the dimension whose lower bound is to be returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array.

715

severe (715): Out of range: DIM argument ('dim') to LBOUND greater than ARRAY rank 'rank' FOR$IOS_F6760. The optional argument DIM specifies the dimension whose lower bound is to be returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions (rank) in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array.

716

severe (716): Out of range: DIM argument to MAXVAL has value 'dim' FOR$IOS_F6761. The optional argument DIM specifies the dimension along which maximum values are returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array. That is, 1 <=DIM <= n, where n is the number of dimensions in array.

717

severe (717): Out of range: DIM argument to MAXVAL has value 'dim' with ARRAY of rank 'rank' FOR$IOS_F6762. The optional argument DIM specifies the dimension along which maximum values are returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions (rank) in the array. That is, 1 <=DIM <= n, where n is the number of dimensions in array.

718

severe (718): Cannot allocate temporary array -- out of memory


Visual Fortran Run-Time Errors

Page 42 of 48

FOR$IOS_F6763. There is not enough memory space to hold a temporary array. Dynamic memory allocation is limited by several factors, including swap file size and memory requirements of other applications that are running. If you encounter an unexpectedly low limit, you might need to reset your virtual memory size through the Windows Control Panel or redefine the swap file size. Allocated arrays that are no longer needed should be deallocated. 719 severe (719): Attempt to DEALLOCATE part of a larger object FOR$IOS_F6764. An attempt was made to DEALLOCATE a pointer to an array subsection or an element within a derived type. The whole data object must be deallocated; parts cannot be deallocated.

Run-Time Errors 720 Through 759
This section describes in detail Visual Fortran run-time errors 720 through 759. In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected. The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message. For information about severity levels, see the Introduction. Number Severity Level, Number, and Message Text; Condition Symbol and Explanation 720 severe (720): Pointer in DEALLOCATE is ASSOCIATED with an ALLOCATABLE array FOR$IOS_F6765. Deallocating a pointer associated with an allocatable target is illegal. Instead, deallocate the target the pointer points to, which frees memory and disassociates the pointer. 721 severe (721): Attempt to DEALLOCATE an object which was not allocated FOR$IOS_F6766. You cannot deallocate an array unless it has been previously allocated. You cannot deallocate a pointer whose target was not created by allocation. The intrinsic function ALLOCATED can be used to determine whether an allocatable array is currently allocated. 722 severe (722): Cannot ALLOCATE scalar POINTER -- out of memory FOR$IOS_F6767. There is not enough memory space to allocate the pointer.


Visual Fortran Run-Time Errors

Page 43 of 48

Dynamic memory allocation is limited by several factors, including swap file size and memory requirements of other applications that are running. If you encounter an unexpectedly low limit, you might need to reset your virtual memory size through the Windows Control Panel or redefine the swap file size. Allocated arrays that are no longer needed should be deallocated. 723 severe (723): DEALLOCATE: object not allocated/associated FOR$IOS_F6768. You cannot deallocate an array unless it has been previously allocated. You cannot deallocate a pointer whose target was not created by allocation, or a pointer that has undefined association status. The intrinsic function ALLOCATED can be used to determine whether an allocatable array is currently allocated. 724 severe (724): Cannot ALLOCATE POINTER array -- out of memory FOR$IOS_F6769. There is not enough memory space to allocate the POINTER array. Dynamic memory allocation is limited by several factors, including swap file size and memory requirements of other applications that are running. If you encounter an unexpectedly low limit, you might need to reset your virtual memory size through the Windows Control Panel or redefine the swap file size. Allocated arrays that are no longer needed should be deallocated. 725 severe (725): DEALLOCATE: Array not allocated FOR$IOS_F6770. It is illegal to DEALLOCATE an array that is not allocated. You can check the allocation status of an array before deallocating with the ALLOCATED function. 726 severe (726): DEALLOCATE: Character array not allocated FOR$IOS_F6771. It is illegal to DEALLOCATE an array that is not allocated. You can check the allocation status of an array before deallocating with the ALLOCATED function. 727 severe (727): Cannot ALLOCATE allocatable array -- out of memory FOR$IOS_F6772. There is not enough memory space to hold the array. Dynamic memory allocation is limited by several factors, including swap file size and memory requirements of other applications that are running. If you encounter an unexpectedly low limit, you might need to reset your virtual memory size through the Windows Control Panel or redefine the swap file size. Allocated arrays that are no longer needed should be deallocated. 728 severe (728): Cannot allocate automatic object -- out of memory


Visual Fortran Run-Time Errors

Page 44 of 48

FOR$IOS_F6773. There is not enough memory space to hold the automatic data object. Dynamic memory allocation is limited by several factors, including swap file size and memory requirements of other applications that are running. If you encounter an unexpectedly low limit, you might need to reset your virtual memory size through the Windows Control Panel or redefine the swap file size. Allocated arrays that are no longer needed should be deallocated. An automatic data object is an object that is declared in a procedure subprogram or interface, is not a dummy argument, and depends on a nonconstant expression. For example:
SUBROUTINE EXAMPLE (N) DIMENSION A (N, 5), B(10*N)

The arrays A and B in the example are automatic data objects. 729 severe (729): DEALLOCATE failure: ALLOCATABLE array is not ALLOCATED FOR$IOS_F6774. It is illegal to DEALLOCATE an array that is not allocated. You can check the allocation status of an array before deallocating with the ALLOCATED function. 730 severe (730): Out of range: DIM argument to MINVAL has value 'dim' FOR$IOS_F6775. The optional argument DIM specifies the dimension along which minimum values are returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array. 731 severe (731): Out of range: DIM argument to MINVAL has value 'dim' with ARRAY of rank 'rank' FOR$IOS_F6776. The optional argument DIM specifies the dimension along which minimum values are returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions (rank) in the array. That is, 1 <=DIM <= n, where n is the number of dimensions in array. 732 severe (732): P argument to MOD is double precision zero FOR$IOS_F6777. MOD(A,P) is computed as A - INT(A/P) * P. So, P cannot be zero. 733 severe (733): P argument to MOD is integer zero FOR$IOS_F6778. MOD(A,P) is computed as A - INT(A/P) * P. So, P cannot be zero. 734 severe (734): P argument to MOD is real zero


Visual Fortran Run-Time Errors

Page 45 of 48

FOR$IOS_F6779. MOD(A,P) is computed as A - INT(A/P) * P. So, P cannot be zero. 735 severe (735): P argument to MODULO is real zero FOR$IOS_F6780. MODULO(A,P) for real numbers is computed as A - FLOOR(A/P) * P. So, P cannot be zero. 736 severe (736): P argument to MODULO is zero FOR$IOS_F6781. In the function, MODULO(A,P), P cannot be zero. 737 severe (737): Argument S to NEAREST is zero FOR$IOS_F6782. The sign of the S argument to NEAREST(X,S) determines the direction of the search for the nearest number to X, and cannot be zero. 738 severe (738): Heap storage exhausted FOR$IOS_F6783. 739 severe (739): PUT argument to RANDOM_SEED is too small FOR$IOS_F6784. The integer array PUT must be greater than or equal to the number of integers the processor uses to set the seed value. This number can be determined by calling RANDOM_SEED with the SIZE argument. For example:
INTEGER, ALLOCATABLE SEED CALL RANDOM_SEED( ) CALL RANDOM_SEED(SIZE = K) ALLOCATE SEED(K) CALL RANDOM_SEED(PUT = SEED)

! ! ! !

initialize processor get size of seed allocate array set the seed

Note that RANDOM_SEED can be called with at most one argument at a time. 740 severe (740): GET argument to RANDOM_SEED is too small FOR$IOS_F6785. The integer array GET must be greater than or equal to the number of integers the processor uses to set the seed value. This number can be determined by calling RANDOM_SEED with the SIZE argument. For example:
INTEGER, ALLOCATABLE SEED CALL RANDOM_SEED( ) CALL RANDOM_SEED(SIZE = K) ALLOCATE SEED(K) CALL RANDOM_SEED(GET = SEED)

! ! ! !

initialize processor get size of seed allocate array get the seed

Note that RANDOM_SEED can be called with at most one argument at a time.


Visual Fortran Run-Time Errors

Page 46 of 48

741

severe (741): Recursive i/o reference FOR$IOS_F6786.

742

severe (742): Argument to SHAPE intrinsic is not PRESENT FOR$IOS_F6787.

743

severe (743): Out of range: DIM argument to UBOUND had value 'dim' FOR$IOS_F6788. The optional argument DIM specifies the dimension whose upper bound is to be returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array.

744

severe (744): DIM argument ('dim') to UBOUND greater than ARRAY rank 'rank' FOR$IOS_F6789. The optional argument DIM specifies the dimension whose upper bound is to be returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions (rank) in the array. That is, 1 <=DIM <= n, where n is the number of dimensions in array.

745

severe (745): Out of range: UBOUND of assumed-size array with DIM==rank ('rank') FOR$IOS_F6790. The optional argument DIM specifies the dimension whose upper bound is to be returned. An assumed-size array is a dummy argument in a subroutine or function, and the upper bound of its last dimension is detemined by the size of actual array passed to it. Assumed-size arrays have no determined shape, and you cannot use UBOUND to determine the extent of the last dimension. You can use UBOUND to determine the upper bound of one of the fixed dimensions, in which case you must pass the dimension number along with the array name.

746

severe (746): Out of range: DIM argument ('dim') to UBOUND greater than ARRAY rank FOR$IOS_F6791. The optional argument DIM specifies the dimension whose upper bound is to be returned, and must be greater than or equal to 1 and less than or equal to the number of dimensions (rank) in the array. That is, 1 <= DIM <= n, where n is the number of dimensions in array.

747

severe (747): Shape mismatch: Dimension 'shape' extents are 'ext1' and 'ext2' FOR$IOS_F6792.

748

severe (748): Illegal POSITION value FOR$IOS_F6793. An illegal value was used with the POSITION= specifier.


Visual Fortran Run-Time Errors

Page 47 of 48

POSITION= accepts the following values:
l 'ASIS' (the default) l 'REWIND' - on Fortran I/O systems, this is the same as 'ASIS' l 'APPEND'

749

severe (749): Illegal ACTION value FOR$IOS_F6794. An illegal value was used with the ACTION= specifier. ACTION= accepts the following values:
l 'READ' l 'WRITE' l 'READWRITE' - the default

750

severe (750): DELIM= specifier not allowed for an UNFORMATTED file FOR$IOS_F6795. The DELIM= specifier is only allowed for files connected for formatted data transfer. It is used to delimit character constants in list-directed an namelist output.

751

severe (751): Illegal DELIM value FOR$IOS_F6796. An illegal value was used with the DELIM=specifier. DELIM= accepts the following values:
l 'APOSTROPHE' l 'QUOTE' l 'NONE' - the default

752

severe (752): PAD= specifier not allowed for an UNFORMATTED file FOR$IOS_F6797. The PAD= specifier is only allowed for formatted input records. It indicates whether the formatted input record is padded with blanks when an input list and format specification requires more data than the record contains.

753

severe (753): Illegal PAD= value FOR$IOS_F6798. An illegal value was used with the PAD= specifier. PAD= accepts the following values:
l 'NO' l 'YES' - the default


Visual Fortran Run-Time Errors

Page 48 of 48

754

severe (754): Illegal CARRIAGECONTROL= value FOR$IOS_F6799. An illegal value was used with the CARRIAGECONTROL= specifier. CARRIAGECONTROL= accepts the following values:
l 'FORTRAN' - default if /vms is specified or the unit is connected to a terminal or

console
l 'LIST' - default for formatted files l 'NONE' - default for unformatted files

755

severe (755): SIZE= specifier only allowed with ADVANCE='NO' FOR$IOS_F6800. The SIZE= specifier can only appear in a formatted, sequential READ statement that has the specifier ADVANCE='NO' (indicating nonadvancing input).

756

severe (756): Illegal character in binary input FOR$IOS_F6801.

757

severe (757): Illegal character in octal input FOR$IOS_F6802.

758

severe (758): End of record encountered FOR$IOS_F6803.

759

severe (759): Illegal subscript in namelist input record FOR$IOS_F6804.


Linker Tools Messages

Page 1 of 32

Linker Tools Messages
The following topics cover linker tools errors and warnings (LNKnnnn), which can be generated LINK, LIB, DUMPBIN, and EDITBIN:
l l l l l l l l l l

Linker Errors LNK1000 to LNK1149 Linker Errors LNK1152 to LNK1189 Linker Errors LNK1190 to LNK1581 Linker Errors LNK2001 to LNK2014 Linker Warnings LNK4001 to LNK4039 Linker Warnings LNK4040 to LNK4069 Linker Warnings LNK4070 to LNK4099 Linker Warnings LNK4102 to LNK4549 Linker Warnings LNK6001 to LNK6026 Corrupt Object File Explanation

Corrupt Object File Explanation: Sometimes the linker is unable to process your object files because they are corrupt. Besides the usual causes of corrupt files such as network problems or exposing a floppy disk to a magnetic field, sometimes the compiler writes an incorrect object file, which you should report to technical support. After you have ruled out a hardware, operating system, or network problem as the cause of the corrupt object file, you should try the tips below because sometimes by changing compiler options and recompiling, the compiler will write a non-corrupt object file. Here are some things to try when recompiling:
l Turn off optimization with the /nooptimize (/Od, Disable) option. l Use a different code generation option. See the /tune (/G, Optimize for Processor) options. l Change the order of functions and global variables.

With Visual C++ mixed-language programs:
l Disable incremental compilation with the /Gi- (Enable Incremental Compilation) option. l Disable minimal rebuild with the /Gm- (Enable Minimal Rebuild) option. l Compile with the /Gy (Enable Function-Level Linking) option to package functions.

Linker Errors LNK1000 to LNK1149
Linker Tools Error LNK1000 unknown error; consult documentation for technical support options Note the circumstances of the error, try to isolate the problem and create a reproducible test case, then contact technical support. Linker Tools Error LNK1101 incorrect MSPDBxx.DLL version; recheck installation of this product


Linker Tools Messages

Page 2 of 32

The version of MSPDBxx.DLL available on your system does not match the version required by this tool. Linker Tools Error LNK1102 out of memory There was not enough memory for the tool to run. Probably the paging file exceeded available disk space. If a shortage of disk space is not the cause, note the circumstances of the error, try to isolate the problem and create a reproducible test case, then request technical support. Linker Tools Error LNK1103 debugging information corrupt; recompile module Probably the compilation was terminated before a valid object file was created. Recompile the given object file. If recompiling does not correct the problem, note the circumstances of the error, try to isolate the problem and create a reproducible test case, then consult technical support. See Corrupt Object File for more information. Linker Tools Error LNK1104 cannot open file "filename" The tool could not open the given file. One of the following may be a cause:
l l l l l l l

There was not enough disk space. The file does not exist. The filename or its path was incorrectly specified. The specified drive is invalid. The file does not have the appropriate permissions. The path for filename expands to more than 260 characters. If the given file is named LNKn, which is a filename generated by the linker for a temporary file, then the directory specified in the TMP environment variable may not exist, or more than one directory is specified for the TMP environment variable. (Only one directory path should be specified for the TMP environment variable.) l If the error occurs on the executable filename, an earlier version of the executable may still be running. You will need to terminate the executable before linking it. In Windows NT or Windows 95 you can use the utility PVIEW to look for and kill instances of the application. l If the error message occurs for a library name, and you recently ported the .MAK file from a previous Microsoft Visual C++ development environment, the library may no longer be valid. Ensure that the library still exists in this circumstance. Linker Tools Error LNK1105 cannot close file "filename" The tool could not close the given file. Possibly there was insufficient disk space available. Linker Tools Error LNK1106 invalid file or disk full: cannot seek to location The tool could not read or write to location in a memory-mapped file:
l Your disk may be too full to complete the link. Free up some space and try the link again. l The error may be a result of trying to link over a network. Some networks do not fully support

the memory-mapped files used by the linker. Try linking on your local disk to see if that fixes


Linker Tools Messages

Page 3 of 32

the problem.
l There may be a bad block on your disk. Although the operating system and disk hardware

should have detected such an error, you may want to run a disk checking program. Linker Tools Error LNK1107 invalid or corrupt file: cannot read at location The tool could not read the file. Recreate the file. Linker Tools Error LNK1108 cannot write file at location The tool could not write to the file. One of the following may be a cause:
l There was not enough disk space to create the file. l The drive being written to was not available, possibly due to a network problem.

Linker Tools Error LNK1109 cannot remove file "filename" LIB could not delete the given file. Before LIB writes the new version of a library, it removes the existing library file. One of the following may be a cause:
l The given file does not have the appropriate permissions. l The drive containing the file was not available, possibly due to a network problem.

Linker Tools Error LNK1110 cannot rename file "filename" LIB could not rename the given file. When LIB builds a new version of a library, it creates a temporary file, then renames the file. One of the following may be a cause:
l The given file does not have the appropriate permissions. l The drive containing the file was not available, possibly due to a network problem.

Linker Tools Error LNK1111 invalid /BASE argument "argument" The /BASE option was incorrectly specified. Either no argument was specified or argument is not a number. Linker Tools Error LNK1112 module machine type "type1" conflicts with target machine type " type2" The object files specified as input were compiled for different machine types. Linker Tools Error LNK1113 invalid machine type The machine type specified in the object header is not valid. Probably the file is corrupt. Rebuild the object. See Corrupt Object File for more information. Linker Tools Error LNK1115 /MACHINE option required LINK or LIB cannot determine the machine type for objects that are provided entirely from libraries. Either specify the /MACHINE option with the appropriate machine type or specify at least one object


Linker Tools Messages

Page 4 of 32

file in the input. Linker Tools Error LNK1117 syntax error in option "option" The given option was not correctly specified. Linker Tools Error LNK1118 syntax error in keyword statement The given module-definition statement was not correctly specified. Linker Tools Error LNK1119 invalid ordinal number " argument" The argument following the at sign (@) in an ordinal specification was not a valid number. An ordinal number is an optional argument in either an /EXPORT option in a LINK or LIB command or an EXPORTS statement in a module-definition file. It is an index into the exports table. The number must be an integer in the range 1-65535. Linker Tools Error LNK1120 number unresolved externals Error LNK1120 gives you a count (number) of unresolved externals for this link. The conditions that cause unresolved externals are described with error LNK2001 (see Linker Errors LNK2001 to LNK2014), which precedes this error message (once for each unresolved external). Linker Tools Error LNK1121 duplicate ordinal number "number" The given ordinal number was specified more than once in either an /EXPORT option in a LINK or LIB command or an EXPORTS statement in a module-definition file. Ordinal numbers must be unique integers in the range 1-65535. Linker Tools Error LNK1123 failure during conversion to COFF: file invalid or corrupt The object or resource could not be converted to COFF. This tool requires the format of all input files to be COFF. If an input file is not COFF, the tool runs a conversion tool, either CVTOMF (to convert 32-bit OMF objects) or CVTRES (to convert resource files). This error is preceded by errors or warnings from the conversion tool. One of the following may be a cause:
l The file is corrupt. l The file is not a valid file type. An example of an invalid type is a 16-bit OMF object.

Linker Tools Error LNK1127 library is corrupt The library file is corrupt. Rebuild the library. Linker Tools Error LNK1129 cannot find resolution for weak extern symbol The given weak external symbol does not have a default resolution. Probably the symbol table is corrupt. Rebuild the object file. See Corrupt Object File for more information. Linker Tools Error LNK1130


Linker Tools Messages

Page 5 of 32

Linker miscalc (base relocations off by number) There was not enough space in the image to write base relocations. Linker Tools Error LNK1131 no library file specified The LIB /EXTRACT command required a library as input, but a library filename was not specified. Linker Tools Error LNK1132 invalid format for MS-DOS stub file " filename" The filename specified with the /STUB option was not a valid real-mode MS-DOS executable (.EXE) file. Linker Tools Error LNK1136 invalid or corrupt file The input file either has a corrupt header or is zero size or abnormally small. See Corrupt Object File for more information. Linker Tools Error LNK1137 invalid argument specified with /SECTION Either the name or the attributes argument to the /SECTION option is specified incorrectly. Linker Tools Error LNK1140 too many modules for program database; relink with /PDB:NONE The project contains more than 4096 modules. One of the following is a solution:
l Relink using /PDB:NONE. l Compile some modules without debugging information. l Reduce the number of modules.

Linker Tools Error LNK1141 failure during build of exports file LINK could not build the exports (.EXP) file. Causes of this error include system problems such as insufficient memory and syntax errors in options or module-definition statements. This error is preceded by another error that gives additional information. Linker Tools Error LNK1143 invalid or corrupt file: no symbol for COMDAT section number The object file is corrupt. Rebuild the file. See Corrupt Object File for more information. Linker Tools Error LNK1144 error with LINK_REPRO var; cannot open "filename" The linker could not create filename. One of the following may be a cause:
l Check that you've set your LINK_REPRO environment variable to an existing directory and not

the current directory. l Make sure there are no read-only files in the directory. l Make sure none of the files in the LINK_REPRO directory are open by another process, because the linker needs to write to them.


Linker Tools Messages

Page 6 of 32

Linker Tools Error LNK1145 /MERGE created circular link for section "section" You attempted to merge a section into itself. Check the /MERGE options. Linker Tools Error LNK1146 no argument specified with option "option" The given option requires an argument. Linker Tools Error LNK1147 invalid number specified with option " option" The argument to the given option was specified incorrectly. Linker Tools Error LNK1148 failure during conversion to COFF: cannot copy temp file filename EDITBIN could not convert the input file to COFF. When EDITBIN converts a file, it creates a temporary file, then copies the file. One of the following may be a cause:
l The given file does not have the appropriate permissions. l There was not enough disk space to create the file. l The drive being written to was not available, possibly due to a network problem.

Linker Tools Error LNK1149 output filename matches input filename " filename" The output filename specified with the /OUT or /IMPLIB option was the same as an input file. Return to Main Linker Error Page

Linker Errors LNK1152 to LNK1189
Linker Tools Error LNK1152 cannot resolve one or more undecorated symbols This error is preceded by one warning LNK4022 for each undecorated symbol that could not be resolved and by at least two warnings LNK4006 for the duplicate symbols found for the undecorated symbol. Linker Tools Error LNK1153 /VXD command-line option required You attempted to build a virtual device driver without the /VXD option. Relink with the /VXD option. Linker Tools Error LNK1154 specified import library filename matches exports file filename" " The filename specified with LINK /IMPORT or with LIB /DEF /OUT conflicted with the filename given by LINK or LIB to the exports file, which is formed from the base name of the main output file and the extension .EXP. Linker Tools Error LNK1155 special symbol "symbol" already defined


Linker Tools Messages

Page 7 of 32

The given symbol is reserved for use by LINK. Linker Tools Error LNK1156 .sbss section not supported An object file contained an .sbss section. Linker Tools Error LNK1157 fixup overflow; offset of target symbol "symbol" greater than +-8MB The VXD is too large, or the sections are not arranged properly. Linker Tools Error LNK1158 cannot run "filename" The given executable file called by LINK is not in the directory that contains LINK and is not in a directory specified in the PATH environment variable. Linker Tools Error LNK1159 no output file specified No name was specified for the main output file (executable file or DLL). LINK derives the default name of the output file from the base name of the first object file. If no object files are specified, and if the /OUT option is not used, this error occurs. Linker Tools Error LNK1160 library with zero objects not allowed An attempt was made to remove an object from a library that contained only that object. The object was not removed. Linker Tools Error LNK1161 invalid export specification Either the /EXPORT option or the EXPORTS module-definition statement incorrectly specified an export. A possible cause is a typing error. Linker Tools Error LNK1162 expected aux symbol for comdat section number The linker expected to find an auxiliary symbol table for the indicated COMDAT but could not. The object file is probably corrupt. See Corrupt Object File for more information. Linker Tools Error LNK1163 invalid selection for comdat section number The byte in the object file indicating the type of COMDAT section is invalid. The object file is probably corrupt. See Corrupt Object File for more information. Linker Tools Error LNK1164 section section alignment (number) greater than /ALIGN value The alignment size for the given section in the object file exceeds the value specified with the /ALIGN option. The /ALIGN value must be a power of 2 and must equal or exceed the section alignment given in the object file. Either recompile with a smaller section alignment or increase the /ALIGN value. Linker Tools Error LNK1165 link failed because of fixup errors


Linker Tools Messages

Page 8 of 32

The build failed due to fixup errors. The /FORCE or /FORCE:UNRESOLVED option overrides this error. Linker Tools Error LNK1166 cannot adjust code at offset=offset , va=value LINK was unable to pad the code as required. Certain instructions are not allowed to cross page boundaries on some processors. LINK attempts to add pads to correct this situation. In this case, LINK could not work around the problem. Linker Tools Error LNK1167 file contains relocs but header has no machine type A converted COFF object did not have a machine type specified in its header. One cause of this error is omitting a machine type when converting a .RES file in a separate step before linking. Linker Tools Error LNK1168 cannot open filename for writing The given file does not have write permission. Linker Tools Error LNK1169 one or more multiply defined symbols found The build failed due to multiple definitions of one or more symbols. This error is preceded by error LNK2005. The /FORCE or /FORCE:MULTIPLE option overrides this error. Linker Tools Error LNK1170 line in command file contains limit or more characters The length of a line in a command file must be less than the given limit. Linker Tools Error LNK1171 unable to load filename The given DLL was unavailable. The possible locations for the DLL are the current directory, the system directory, the Windows directory, and the directories specified in the PATH environment variable. Linker Tools Error LNK1172 more than one object with the name "object" found; rename object(s) or relink /PDB:NONE A library contained two or more objects with the same name. Do one of the following:
l Rename the objects using unique names and rebuild the library. l Link using the /PDB:NONE option.

Linker Tools Error LNK1173 unable to find entrypoint function in filename The given function does not exist in the given DLL. Linker Tools Error LNK1174 unable to /REBASE filename; not a valid Win32 image The format of the given file was invalid. Linker Tools Error LNK1175


Linker Tools Messages

Page 9 of 32

failed to /REBASE filename The rebase operation failed on the given file. Linker Tools Error LNK1177 TOC size limit exceeded The linker was unable to create a TOC (Table of Contents) in your image file. The limit is 2048 entries in the TOC. Linker Tools Error LNK1178 missing MODEND record; file is invalid or corrupt The linker tool tried to convert an OMF object module to COFF format but could not find an expected MODEND (module end) record in the OMF object. The OMF object module is corrupt and needs to be recreated or recopied. See Corrupt Object File for more information. Linker Tools Error LNK1179 invalid or corrupt file: duplicate comdat comdat An object module contained two or more COMDATs with the same name. One possible cause is if you use the Visual C++ /H option with the Visual C++ /Gy option. The /H option limits the length of external names, and the /Gy option packages functions in COMDATs. Linker Tools Error LNK1180 insufficient disk space to complete link The linker tool was unable to complete a file operation since the operating system reported that the disk is full. Free up space on your local and network drives (if you are writing files there). Linker Tools Error LNK1181 cannot open input file "filename" The linker tool could not find "filename" because it does not exist or the path was not found. Linker Tools Error LNK1182 cannot have more than 64K exports You have reached the linker's limit of 65,536 exports. Linker Tools Error LNK1183 invalid or corrupt file: extended relocation count number less than 65535 The COFF object file is corrupt since it contains an extended relocation count that is less than 0xFFFF. See Corrupt Object File for more information. Linker Tools Error LNK1184 invalid section name " section" specified in option or directive "option" You gave the linker an invalid section name in option. Invalid section names contain "$" or blanks. Linker Tools Error LNK1185 invalid section name " section" specified You gave the linker an invalid section name in a .DEF file. Invalid section names contain "$" or blanks. Linker Tools Error LNK1186 invalid or corrupt COFF object; reloc to undefined static symbol " symbol"


Linker Tools Messages

Page 10 of 32

Your COFF object module is corrupt since it contains a relocation entry for an undefined static symbol. See Corrupt Object File for more information. Linker Tools Error LNK1187 Corrupt object - unmatched name relocation; ignored Your object file contains bad relocation information. Recopy or recreate the object file. See Corrupt Object File for more information. Linker Tools Error LNK1188 BADFIXUPSECTION:: invalid fixup target "symbol"; possible zero length section This message is issued only for VxD links when the target of a relocation does not have a section. With LINK386 (an older version), an OMF GROUP record (generated by a MASM GROUP directive) may have been used to combine the zero length section with another non-zero length section. COFF format does not support the GROUP directive and zero-length sections. When LINK automatically converts this type of OMF objects to COFF, this error may occur. Linker Tools Error LNK1189 LIBTOOMANYMEMBERS:: library limit of number objects exceeded The limit of 65535 objects or members in a library has been exceeded. Return to Main Linker Error Page

Linker Errors LNK1190 to LNK1581
Linker Tools Error LNK1190 invalid fixup found, type type The object file has become corrupted. Recompile. Linker Tools Error LNK1194 cannot delay-load dll name due to import of data symbol symbol name; relink without /DELAYLOAD:dll name You cannot delay load a DLL if data is imported from it. Linker Tools Error LNK1195 target machine "machine" requires "option" Add the required option. Linker Tools Error LNK1196 invalid or corrupt import object: unknown version The import library has become corrupted. Rebuild the library. Linker Tools Error LNK1197 invalid or corrupt import object: unknown type The import library has become corrupted. Rebuild the library. Linker Tools Error LNK1198 invalid or corrupt import object: unknown name type The import library has become corrupted. Rebuild the library.


Linker Tools Messages

Page 11 of 32

Linker Tools Error LNK1199 invalid or corrupt import object: non-zero reserved fields The import library has become corrupted. Rebuild the library. Linker Tools Error LNK1200 error reading program database "filename" The given program database (PDB) could not be read, probably because it is corrupted. If filename is the PDB for an object file, recompile the object file; use the /debug:full and /pdbfile options. If filename is the PDB for the main output file and this error occurred during an incremental link, delete the PDB and relink. Linker Tools Error LNK1201 error writing to program database "filename"; check for insufficient disk space LINK could not write to the program database (PDB) for the output file. One of the following may be a cause:
l The file is corrupted. Delete filename and relink. l There was not enough disk space to write to the file. l The drive being written to was not available, possibly due to a network problem.

Linker Tools Error LNK1202 "filename" missing debugging information for referencing module The given program database (PDB) for an object file was invalid. Recompile the object file; use CL's /Zi option. Linker Tools Error LNK1203 "filename" missing current debugging information for referencing module The given program database (PDB) for an object file was invalid. Recompile the object file; use CL's /Zi option. Linker Tools Error LNK1204 "filename" compiled /Yc /Yu /Z7; cannot create PDB; recompile with /Zi Multilayered program databases (PDBs) are not supported in combination with old-style debugging information. Recompile using CL's /Zi option. Linker Tools Error LNK1206 cannot overwrite Visual C++ 1.0 PDB "filename"; delete and rebuild This version of LINK cannot write to an existing program database (PDB) created using older versions of the visual development environment. Delete filename and rebuild. Linker Tools Error LNK1207 incompatible PDB format in " filename"; delete and rebuild This version of LINK cannot write to the existing program database (PDB). Delete filename and rebuild. Linker Tools Error LNK1209 program database "filename" differs from previous link; relink or rebuild The given program database (PDB) is invalid and possibly corrupt. Relink. If filename is also the PDB


Linker Tools Messages

Page 12 of 32

for an object file, recompile to recreate the PDB. Linker Tools Error LNK1210 insufficient memory for incremental link; relink with /INCREMENTAL:NO There was not enough virtual memory available for LINK to create the incremental status (.ILK) file. Linker Tools Error LNK1211 precompiled type information not found; " filename" not linked or overwritten The given object file, compiled with /Yc, either was not specified in the LINK command or was overwritten. Linker Tools Error LNK1212 error opening program database; file is in use The PDB is already in use by another application. Linker Tools Error LNK1213 unexpected import object encountered The import library has become corrupted. Rebuild the library. Linker Tools Error LNK1221 a subsystem can't be inferred and must be defined The linker does not have enough information to infer which subsystem you will target your application. To fix this error, use the /SUBSYSTEM option. Linker Tools Error LNK1561 entry point must be defined The symbol specified by the /ENTRY option is not defined. Linker Tools Error LNK1581 corrupted object or old compiler (bad Pcode entry point) Your object file contained a bad entry point. The object file is probably corrupt. See Corrupt Object File for more information. Return to Main Linker Error Page

Linker Errors LNK2001 to LNK2014
Linker Tools Error LNK2001 unresolved external symbol " symbol" Code will generate this error message if it references something (like a function, variable, or label) that the linker cannot find in all the libraries and object files it searches. In general, there are two reasons this error occurs: what the code asks for doesn't exist (the symbol is spelled incorrectly or uses the wrong case, for example), or the code asks for the wrong thing (you are using mixed versions of the libraries; some from one version of the product, others from another version). Numerous kinds of coding and build errors can cause LNK2001. Several specific causes are listed below, and some have more detailed explanations. Coding Problems:


Linker Tools Messages

Page 13 of 32

l Mismatched case in your code or module-definition (.DEF) file can cause LNK2001. For

l l

l l

l

l

l l

l

example, if you named a variable "var1" in one C++ source file and tried to access it as "VAR1" in another, you would receive this error. The solution is to exactly match the case of the symbol in all references. A project that uses function inlining yet defines the functions in a .CPP file rather than in the header file can cause LNK2001. If you are using C++, make sure to use extern "C" when calling a C function from a C++ program. By using extern "C" you force the use of the C naming convention. Be aware of compiler switches like /Tp or /Tc that force a file to be compiled as a C (/Tc) or C++ (/Tp) file no matter what the filename extension, or you may get different function names than you expect. Attempting to reference functions or data that don't have external linkage causes LNK2001. In C++, inline functions and const data have internal linkage unless explicitly specified as extern. A missing function body or variable will cause LNK2001. Having just a function prototype or extern declaration will allow the compiler to continue without error, but the linker will not be able to resolve your call to an address or reference to a variable because there is no function code or variable space reserved. Name decoration incorporates the parameters of a function into the final decorated function name. Calling a function with parameter types that do not match those in the function declaration may cause LNK2001. Incorrectly included prototypes will cause the compiler to expect a function body that is not provided. If you have both a class and non-class implementation of a function F, beware of C++ scope-resolution rules. When using C++, make sure that you include the implementation of a specific function for a class and not just a prototype in the class definition. Attempting to call a pure virtual function from the constructor or destructor of an abstract base class will cause LNK2001 since by definition a pure virtual function has no base class implementation. Only global functions and variables are public. Functions declared with the static modifier by definition have file scope. Static variables have the same limitation. Trying to access any static variables from outside of the file in which they are declared can result in a compile error or LNK2001. A variable declared within a function (a local variable) can only be used within the scope of that function. C++ global constants have static linkage. This is different than C. If you try to use a global constant in C++ in multiple files you get error LNK2001. One alternative is to include the const initializations in a header file and include that header in your .CPP files when necessary, just as if it was a function prototype. Another alternative is to make the variable non-constant and use a constant reference when assessing it.

Compiling and Linking Problems:
l The names of the run-time libraries needed at link time are included in the object file module by

the compiler. If you use the /NOD (/NODEFAULTLIB) option, these libraries will not be linked into the project unless you have explicitly included them. Using /NOD will cause error LNK2001 in this case. l If you are using Unicode and MFC, you will get an unresolved external on _WinMain@16 if


Linker Tools Messages

Page 14 of 32

l

l l

l l

l

l

l

l l l

you don't create an entrypoint to wWinMainCRTStartup. Use the /ENTRY option or type this value in the Project Settings dialog box. (To find this option in the development environment, click Settings on the Project menu, then click the Link tab, and click Output in the Category box.) See the following Microsoft® Knowledge Base articles located in the Online Information System for more information. An easy way to reach an article is to copy a "Q" number above, open the Search dialog box from the Help menu and select the Query tab, then paste the number into the first text box and press ENTER. Q125750 "PRB: Error LNK2001: '_WinMain@16': Unresolved External Symbol" Q131204 "PRB: Wrong Project Selection Causes LNK2001 on _WinMain@16" Q100639 "Unicode Support in the Microsoft Foundation Class Library" Linking code compiled with /MT with the library LIBC.LIB causes LNK2001 on _beginthread, _beginthreadex, _endthread, and _endthreadex. When compiling with /MD, a reference to "func" in your source becomes a reference "__imp__func" in the object since all the run-time is now held within a DLL. If you try to link with the static libraries LIBC.LIB or LIBCMT.LIB, you will get LNK2001 on __imp__func. If you try to link with MSVCxx.LIB when compiling without /MD you will not always get LNK2001, but you will likely have other problems. Linking code compiled with an explicit or implicit /ML to the LIBCMT.LIB causes LNK2001 on _errno. Linking with the release mode libraries when building a debug version of an application can cause LNK2001. Similarly, using an /Mxd option (/MLd, /MTd, or /MDd) and/or defining _DEBUG and then linking with the release libraries will give you potential unresolved externals (among other problems). Linking a release mode build with the debug libraries will also cause similar problems. Mixing versions of Microsoft libraries and compiler products can be problematic. A new compiler version's libraries may contain new symbols that cannot be found in the libraries included with previous versions. Use DUMPBIN to find out if a symbol is in a 32-bit object file or library. There is currently no standard for C++ naming between compiler vendors or even between different versions of a compiler. Therefore linking object files compiled with other compilers may not produce the same naming scheme and thus cause error LNK2001. Mixing inline and non-inline compile options on different modules can cause LNK2001. If a C++ library is created with function inlining turned on (/Ob1 or /Ob2) but the corresponding header file describing the functions has inlining turned off (no inline keyword), you will get this error. To prevent this problem, have the inline functions defined with inline in the header file you are going to include in other files. If you are using the Visual C++ #pragma inline_depth compiler directive, make sure you have a value of 2 or greater set, and make sure you are using the /Ob1 or /Ob2 compiler option. Omitting the LINK option /NOENTRY when creating a resource-only DLL will cause LNK2001. Using incorrect /SUBSYSTEM or /ENTRY settings can cause LNK2001. For example, if you write a character-based application (a console application) and specify /SUBSYSTEM:WINDOWS, you will get an unresolved external for WinMain. For more information on these options and entry points, see the /SUBSYSTEM and /ENTRY linker options.

Export Problems:


Linker Tools Messages

Page 15 of 32

l When you are porting an application from 16 to 32 bits, LNK2001 can occur. The current 32-

bit module-definition (.DEF) file syntax requires that __cdecl, __stdcall, and __fastcall functions be listed in the EXPORTS section without underscores (undecorated). This differs from the 16bit syntax, where they must be listed with underscores (decorated). For more information, see the description of the EXPORTS section of module-definition files. l Any export listed in the .DEF file and not found will cause LNK2001. This could be because it does not exist, is spelled incorrectly, or uses decorated names (.DEF files do not take decorated names). This error message is followed by fatal error LNK1120.

The following sections give more detailed information on some of the issues named in the above list.
l Missing function body or variable

Having just a function prototype will allow the compiler to continue without error, but the linker will not be able to resolve your call to an address because there is no function code or variable space reserved. You will not see this error until you create an actual call to the function that the linker must resolve. l Name decoration Normally this refers to C++ naming conventions, but it applies to a number of non-C++ cases as well. C++ by default will use the name of a function, its parameters and its return type when calculating a name for a function. Use extern "C" when calling a C function from a C++ program. Extern "C" forces use of the C naming convention for non-class C++ functions. Linker Tools Error LNK2003 gp relative fixup to symbol not in .sdata " module" The /Gt value specified when compiling an instance of a type differed from the value specified when compiling the reference to the type. Rebuild the object files with consistent values for /Gt. This error is followed by fatal error LNK1165. Linker Tools Error LNK2004 gp relative fixup overflow; sdata section (" section") is too large The .sdata section was too large. Rebuild using smaller values for /Gt and /GPSIZE. This error is followed by fatal error LNK1165. Linker Tools Error LNK2005 symbol already defined in object The given symbol, displayed in its decorated form, was multiply defined. One of the following may be a cause:
l The most common cause of this error is accidentally linking with both the single-threaded and

multithreaded libraries. Ensure that the application project file includes only the appropriate libraries and that any third-party libraries have appropriately created single-threaded or multithreaded versions. l The given symbol was a packaged function (created by compiling with /Gy) and was included in


Linker Tools Messages

Page 16 of 32

more than one file but was changed between compilations. Recompile all files that include the symbol. l The given symbol was defined differently in two member objects in different libraries, and both member objects were used. l An absolute was defined twice, with a different value in each definition. This error is followed by fatal error LNK1169. Linker Tools Error LNK2006 TOC relative fixup to symbol not in TOC " name"; fixup ignored LINK found an invalid fixup and ignored it. Linker Tools Error LNK2007 TOC relative fixup overflow; TOC is too large; fixup ignored LINK found an invalid fixup and ignored it. Linker Tools Error LNK2008 Fixup target is not aligned "alignment" LINK found a fixup target in your object file that was not aligned properly. Linker Tools Error LNK2009 Fixup target must be absolute "name" w/o -FIXED; fixup ignored LINK found an invalid fixup and ignored it. Linker Tools Error LNK2010 Duplicate IMGLUE relocations for "name" LINK found duplicate relocations for "name" in your object file. The object file is probably corrupt. See Corrupt Object File for more information. Linker Tools Error LNK2011 precompiled object not linked in; image may not run If you use precompiled headers, LINK now requires that all of the object files created with precompiled headers must be linked in. If you have a source file that you use to generate a precompiled header for use with other source files, you now must include the object file created along with the precompiled header. Linker Tools Error LNK2012 No NOP following relocationtype relocation to "symbol" TOCINDIRCALL and TOCCALLREL require a NOP following the instruction that has this type of relocation. This is mainly useful for compiler and assembler developers who use the Microsoft linker. Linker Tools Error LNK2013 Fixup overflow. Target "symbol" is out of range This error occurs when the executable is too large or the error may indicate a problem with assembly code. To work around the problem:
l Use shared libraries. l TOC space is required for global data accessed from a module other than where it is defined.

You can eliminate the TOC space by moving such data to the module where it is referenced.


Linker Tools Messages

Page 17 of 32

However, if data is referenced in multiple modules, then the TOC space cannot be eliminated to save space. Linker Tools Error LNK2014 TLS relative fixup overflow; .tls section (" section") is too large The section created for thread-local storage (.tls) is too large. TLS data must fit in 32 KB. This data is created using the __declspec(thread) storage class modifier in the declaration and definition of that data. To work around the problem:
l Reduce the amount of thread-local data in the code. l Use dynamic TLS by calling functions such as TlsAlloc and TlsFree.

Return to Main Linker Error Page

Linker Warnings LNK4001 to LNK4039
Linker Tools Warning LNK4001 no object files specified; libraries used The command did not specify any object files as input. The tool used objects from the libraries that were specified as input. Linker Tools Warning LNK4002 symbol defined in object The given symbol, displayed in its decorated form, was specified in its undecorated form in object, but a unique match to a decorated symbol could not be found. This warning is always preceded by warning LNK4022 and followed by fatal error LNK1152. Linker Tools Warning LNK4003 invalid library format; library ignored The file header for the input library was invalid. The tool did not use the library. Linker Tools Warning LNK4005 no objects used from library library The library was specified in the command, but no references were resolved from that library. Linker Tools Warning LNK4006 symbol already defined in object; second definition ignored The given symbol, displayed in its decorated form, was multiply defined. When this warning is encountered, symbol will be added twice, but only its first form will be used. Tips:
l The given symbol may be a packaged function, created by compiling with /Gy. This symbol was

included in more than one file but was changed between compilations. Recompile all files that include the symbol. l The given symbol may have been defined differently in two member objects in different libraries. l An absolute may have been defined twice, with a different value in each definition. l If the error message is received when combining libraries, symbol already exists in the library being added to. Linker Tools Warning LNK4010


Linker Tools Messages

Page 18 of 32

invalid version number " number"; default version assumed Either the major or the minor number in the specified version argument was not valid. Each part of a version specification must be an integer in the range 1-65535. Options that take a version argument include /SUBSYSTEM and /VERSION. Linker Tools Warning LNK4011 unknown subsystem "argument"; default assumed The /SUBSYSTEM option was incorrectly specified. Either no argument was specified or argument did not have the expected syntax. The tool assumed an appropriate default. Linker Tools Warning LNK4012 invalid value " argument", must be keywords; option ignored The given argument was not a valid keyword for the option it was specified with. The valid arguments are shown in the given list of keywords. Linker Tools Warning LNK4013 image size imagesize exceeds specified maximum maxsize The base address file specified with the /BASE option listed the maximum size of the program as maxsize, but maxsize was less than the resulting image size of the program. Linker Tools Warning LNK4014 cannot find member object "objectname" LIB could not find objectname in the library. The /REMOVE and /EXTRACT options require the full name of the member object that is to be deleted or copied to a file. The full name includes the path of the original object file. To see the full names of member objects in a library, use DUMPBIN /ARCHIVEMEMBERS or LIB /LIST. Linker Tools Warning LNK4015 memorytype commit exceeds reserve; commit size set tosize The value specified for the commit size for the memorytype exceeded the value specified for the reserve size. The tool assumed size as the value of the commit size. Linker Tools Warning LNK4017 keyword statement not supported for the target platform; ignored The given module-definition statement is not supported by this version of the linker tools. The tool ignored the statement in the .DEF file. Linker Tools Warning LNK4018 too many type indexes in PDB "filename", discarding subsequent type information There are more than 64K type indexes in the program database (PDB). The PDB might contain unneeded type information. Delete the existing PDB and rebuild. If the warning persists, then compile some modules without debugging information. Linker Tools Warning LNK4019 corrupt string table (table end); new end assumed The object file is corrupt. The tool attempted to correct the problem. To prevent this warning, rebuild the object file. See Corrupt Object File for more information.


Linker Tools Messages

Page 19 of 32

Linker Tools Warning LNK4022 cannot find unique match for symbol " symbol" LINK or LIB found multiple matches for the given undecorated symbol and it could not resolve the ambiguity. No output file (.EXE, .DLL, .EXP, or .LIB) is produced. This warning is followed by one warning LNK4006 for each duplicate symbol and is finally followed by fatal error LNK1152. To prevent this warning, specify the symbol in its decorated form. Run DUMPBIN on the object to see decorated names. Linker Tools Warning LNK4023 base address address not a 64K multiple; assumed newaddress The base address specified with the /BASE option must be a multiple of 64K. The tool assumed a newaddress value for the base address. Linker Tools Warning LNK4027 CVPACK error LINK called CVPACK to process the debugging information, but one of the following occurred:
l The call failed. Be sure that CVPACK is in a directory specified in the PATH environment

variable and that there is sufficient memory. l CVPACK issued an error. Errors generated by CVPACK have the form CKnnnn. Linker Tools Warning LNK4028 option option is obsolete; ignored The given option is not supported. LINK ignored the option and continued the build. Linker Tools Warning LNK4030 invalid file offset number for category;category not dumped DUMPBIN could not display information for the given category. Probably the file is invalid or corrupt. See Corrupt Object File for more information. Linker Tools Warning LNK4031 no subsystem specified; CONSOLE assumed The /SUBSYSTEM option was not specified, and LINK was not able to determine a subsystem from the input files. Linker Tools Warning LNK4033 converting object format from OMF to COFF The format of the object file is OMF. This tool requires COFF input. To permanently convert the file, run EDITBIN on the file with no options. Linker Tools Warning LNK4037 "symbol" does not exist; ignored The symbol could not be ordered using the /ORDER option because it could not be found in the program. Check the specification of symbol in the ordering file. Note: LINK cannot order static functions because static function names are not public symbol names. When /ORDER is specified, this linker warning is generated for each symbol, in the order file, that is either static or not found.


Linker Tools Messages

Page 20 of 32

Linker Tools Warning LNK4038 displaying raw data in number units per line The /RAWDATA option was specified without a formatting argument. DUMPBIN assumed a format value of number units per line of the specified or assumed data type, as follows: Data Type none BYTES SHORTS LONGS Number 16 16 8 4

Linker Tools Warning LNK4039 section "name" specified with /SECTION option does not exist DUMPBIN or EDITBIN could not find a section called name in the input file. To see the sections in a file, run DUMPBIN with the /HEADERS option. Return to Main Linker Error Page

Linker Warnings LNK4040 to LNK4069
Linker Tools Warning LNK4040 corrupt string table (size); string table ignored The string table in the object file is corrupt. The program may not run as expected. Rebuild the object file. See Corrupt Object File for more information. Linker Tools Warning LNK4041 no edit options specified EDITBIN was run on the input file, but no options were used. If the file format was not COFF, EDITBIN attempted to convert it. Otherwise, EDITBIN took no action on the file. Linker Tools Warning LNK4042 object specified more than once; extras ignored The same object file was specified more than once in the LINK or LIB command. The result is the same as if the file were specified only the first time. Linker Tools Warning LNK4043 invalid /ALIGN value number (must be power of 2); assumed default The argument specified with the /ALIGN option was not a power of 2. Linker Tools Warning LNK4044 unrecognized option "option"; ignored The given option is not a valid option for this tool. The tool ignored the option. To see a list of valid options, run the tool with no arguments or options.


Linker Tools Messages

Page 21 of 32

Linker Tools Warning LNK4045 creating LINK_REPRO test case in dir "directory" The LINK_REPRO environment variable, when set, specifies a directory where the linker will copy object files, libraries, and other files. Microsoft can use these files to recreate internal linker errors. The linker will only copy files if LINK_REPRO is set. If this is not what you want to do, remove the LINK_REPRO environment variable by typing the following: set LINK_REPRO= Linker Tools Warning LNK4046 LINK_REPRO is set to current directory; ignored The LINK_REPRO environment variable should not be set to the current directory. Create a new directory, set LINK_REPRO to the new directory, and rerun the linker. Linker Tools Warning LNK4047 cannot edit library file " filename"; ignored EDITBIN cannot process a library file. Linker Tools Warning LNK4048 Invalid format file; ignored EDITBIN could not process the file because it was not a valid object file, executable file, or dynamiclink library (DLL). Linker Tools Warning LNK4049 exported symbol "symbol" also imported The symbol was both exported from and imported to the program. This warning is displayed when the LINK warning level (set by the /WARN option) is greater than 1. Linker Tools Warning LNK4051 extra delimiter in /EXPORT specification The specification of the /EXPORT option ended with a comma (,). Linker Tools Warning LNK4052 using .EXP file; ignoring .DEF file " filename" The .DEF file specified in the LINK command was ignored because an .EXP file was also specified. The .DEF file was already processed when the .EXP file was created and is not necessary in this step of the build process. Linker Tools Warning LNK4055 invalid fixup found, address address; fixup ignored The object contained an invalid fixup. The resulting executable file will probably not run correctly. Rebuild the object file. See Corrupt Object File for more information. Linker Tools Warning LNK4056 extra arguments ignored for option "option" The option was specified with too many arguments. The additional arguments were ignored. Linker Tools Warning LNK4057 "library1" should precede "library2" in the link command line Check the order of your libraries. The developer of library1 determined that it should be searched by


Linker Tools Messages

Page 22 of 32

the linker before library2. For example, library1 might contain an updated version of a function in library2. If you specify library2 first, the linker will link in the old version rather than the newer version from library1. Linker Tools Warning LNK4059 resourcefile already specified; additional resource file ignored Only one resource file is allowed. The first .RES file specified in the command was used. Linker Tools Warning LNK4060 stub file missing full MS-DOS header; rebuild stub with /KNOWEAS 16-bit LINK option The MS-DOS application specified with the /STUB option does not have a full 40-byte header. The stub program may not run as expected. To rebuild the 16-bit stub with a full 40-byte header, use the undocumented /KNOWEAS option with the 16-bit LINK version 5.5x or higher. Linker Tools Warning LNK4061 /NOSTUB ignored because no DOS stub is present EDITBIN could not remove the stub file because it could not find one in your executable file. Linker Tools Warning LNK4062 "option" not compatible with "platform" target machine; option ignored The given option is not supported for the target platform of this build. LINK ignored the option and continued the build. Linker Tools Warning LNK4064 conflicting subsystem; image may not run You tried to link in a library whose subsystem differs from your executable's subsystem value, and your executable file may not run. For more information on subsystems, see the /SUBSYSTEM linker option. Note: You will not receive this warning if one subsystem is CONSOLE and the the other's subsystem is WINDOWS. Linker Tools Warning LNK4065 "function" cannot be ordered; ignored The given function was not compiled as a packaged function. Recompile using /Gy. Linker Tools Warning LNK4066 DLL contains .sdata section One or more objects was compiled using /Gt. Objects compiled with /Gt cannot be used to create a DLL. Linker Tools Warning LNK4067 ambiguous entry point; selected "entry" LINK found multiple entry points for the program. It assumed the given entry. Linker Tools Warning LNK4068 /MACHINE not specified; defaulting to machinetype LINK did not find a machine specification. It assumed the given machine type. If the default is incorrect, resulting in fatal error LNK1112, relink using the /MACHINE option. Linker Tools Warning LNK4069


Linker Tools Messages

Page 23 of 32

cannot create map and/or checksum image; checksum set to 0 This warning can occur if IMAGEHLP.DLL is not available. Return to Main Linker Error Page

Linker Warnings LNK4070 to LNK4099
Linker Tools Warning LNK4070 /OUT:filename directive in .EXP differs from output filename filename"; ignoring directive " The filename specified in the NAME or LIBRARY statement when the .EXP file was created differs from the output filename that was either assumed by default or specified with the /OUT option. A client program that uses the resulting DLL might encounter problems. Linker Tools Warning LNK4071 cannot be incrementally linked on subsequent links LINK found multiple definitions for one or more symbols, but /FORCE or /FORCE:MULTIPLE was used to create an output file regardless of errors. LINK deleted the incremental status (.ILK) file. Linker Tools Warning LNK4072 section count count exceeds max (number); image may not run The number of sections (a COFF .EXE or .DLL file is composed of sections, similar to segments) in the output file is greater than the limit that can be handled by the loader. You can view the names of the sections in your executable file by using the DUMPBIN program with the default /SUMMARY option. See the DUMPBIN Reference for more information. To reduce the number of sections in your executable file:
l Remove unneeded data_seg, code_seg or alloc_text pragmas. See data_seg, code_seg, and

alloc_text.
l Use the /MERGE option with LINK to combine sections. See /MERGE.

Linker Tools Warning LNK4073 cannot create map for .ILK file; linking nonincrementally There was not a large enough contiguous space in shared memory for LINK to create the incremental status (.ILK) file. LINK performed a nonincremental build. Linker Tools Warning LNK4074 unable to load filename; cannot checksum The linker tried to load the dynamic-link library filename but could not. A function in filename is used to checksum the executable file. One of the following may be a cause:
l The linker could not find filename because it is not in the current directory or in a directory in

the PATH environment variable. l There was a problem with filename. Recopy filename from the installation disks. Linker Tools Warning LNK4075 ignoring "option1" due to " option2" specification The option2 specification overrides option1.


Linker Tools Messages

Page 24 of 32

Linker Tools Warning LNK4076 invalid incremental status file " filename"; linking nonincrementally LINK cannot write to the incremental status (.ILK) file. Either filename is corrupt or it is not an incremental linking database. Remove the file and relink. Linker Tools Warning LNK4077 exports file "filename" used; ignoring other export specifications The given exports file provides the program's exports. Exports specified by the /EXPORT option or the EXPORTS statement in a .DEF file were ignored. Linker Tools Warning LNK4078 multiple "section" sections found with different attributes LINK found two or more sections that have the same name but different attributes. Probably an import library or exports file was created by a previous version of LINK or LIB. Recreate the file and relink. Linker Tools Warning LNK4079 no write permission for incremental status file " filename"; linking nonincrementally LINK cannot write to the incremental status (.ILK) file because filename does not have the correct permissions. Linker Tools Warning LNK4081 insufficient disk space; linking nonincrementally There is not enough space on disk for LINK to create or write to the incremental status (.ILK) file. Linker Tools Warning LNK4082 unable to find entrypoint function in module; cannot checksum The function CheckSumMappedFile() does not exist in IMAGEHLP.DLL. Linker Tools Warning LNK4083 module "name" does not exist; ignored The module "name" you gave in your order file does not exist. Check the spelling. For more information on order files, see the /ORDER linker option. Linker Tools Warning LNK4084 total image size size exceeds max (256MB); image may not run The application exceeds the limit of 256 megabytes. Linker Tools Warning LNK4085 more than number comments; skipping exestr This warning occurs when the linker tool is converting an OMF object to a COFF object. It indicates there are more than 256 comments in the OMF module. Linker Tools Warning LNK4086 entrypoint ' function' is not __stdcall with 12 bytes of arguments; image may not run The entry point for a DLL must be __stdcall. Either recompile the function with the /Gz option or specify __stdcall or WINAPI when you define the function.


Linker Tools Messages

Page 25 of 32

Linker Tools Warning LNK4087 CONSTANT keyword is obsolete; use DATA This warning occurs if you use CONSTANT with your exports in a module definition file or on the command line. Use DATA instead. Linker Tools Warning LNK4088 image being generated due to /FORCE option; image may not run The linker encountered an error. Normally it deletes the image it created because the image may not run due to the error. Since you used the /FORCE option, however, the linker did not remove the image. Linker Tools Warning LNK4089 all references to "dynamic-link library" discarded by /OPT:REF The linker discarded all packaged functions that referenced exports in dynamic-link library. As a result, dynamic-link library and its import library are unneeded. Linker Tools Warning LNK4090 No IFGLUE relocation in module with branch to glue code "name" Your object file contained bad relocation information. Recopy or recreate the object file. See Corrupt Object File for more information. Linker Tools Warning LNK4092 shared section "section" contains relocations; image may not run correctly The linker emits this warning whenever you have a shared section to warn you of a potentially serious problem. One way to share data between multiple processes is to mark a section as "shared." Marking a section as shared can cause problems, however. Linker Tools Warning LNK4093 Drive/Directory component ignored in "module-definition" statement Your module-definition (.DEF) file used a statement incorrectly. The LIBRARY or NAME statements cannot contain directory or drive information. Linker Tools Warning LNK4094 filename is an MS-DOS executable; use EXEHDR to dump it The DUMPBIN program only works with COFF-format executable files. Use EXEHDR on MS-DOS executables. EXEHDR is included with Visual C++ 1.5. Linker Tools Warning LNK4095 filename is an NE format executable; use EXEHDR to dump it The DUMPBIN program only works with COFF-format executable files. Use EXEHDR on NE format executables. EXEHDR is included with Visual C++ 1.5. Linker Tools Warning LNK4096 /BASE value "number" is invalid for Windows 95; image may not run The base address you specified is invalid. Windows 95 executable files must have a base address greater than 0x400000. For more information on base addresses, see the /BASE linker option. Linker Tools Warning LNK4097


Linker Tools Messages

Page 26 of 32

duplicate name "name" in order file; using last one Order files specify the order you want the linker to load your functions. In your order file, a function appears more than once, so the linker ignored all references to it except the last. For more information on order files, see the /ORDER linker option. Linker Tools Warning LNK4098 defaultlib "library" conflicts with use of other libs; use /NODEFAULTLIB:library You are trying to link with incompatible libraries. Note: The run-time libraries now contain directives to prevent mixing different types. You'll receive this warning if you try to use different types or debug and non-debug versions of the run-time library in the same program. For example, if you compiled one file to use one kind of run-time library and another file to use another kind (for example, single-threaded versus multithreaded) and tried to link them, you'll get this warning. You should compile all source files to use the same run-time library. You can use the linker's /VERBOSE:LIB switch to determine which libraries the linker is searching. If you receive LNK4098 and want to create an executable file that uses, for example, the singlethreaded, non-debug run-time libraries, use the /VERBOSE:LIB option to find out which libraries the linker is searching. The linker should print LIBC.LIB and not LIBCMT.LIB, MSVCRT.LIB, LIBCD.LIB, LIBCMTD.LIB, or MSVCRTD.LIB as the libraries searched. You can tell the linker to ignore the the incorrect run-time libraries by typing the incorrect libraries in the Ignore Libraries text box on the Link tab of the Settings dialog box in the visual development environment or by using the /NODEFAULTLIB:library option with LINK for each library you want to ignore. See the /NODEFAULTLIB linker option for more information. The table below shows which Visual C++ libraries should be ignored depending on which run-time library you want to use. To use this run-time library Single-threaded (libc.lib) Multithreaded (libcmt.lib) Multithreaded using DLL (msvcrt.lib) Debug Single-threaded (libcd.lib) Debug Multithreaded (libcmtd.lib) Debug Multithreaded using DLL (msvcrtd.lib) Ignore these libraries libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib libc.lib, libcmt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib libc.lib, libcmt.lib, msvcrt.lib, libcmtd.lib, msvcrtd.lib libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib

For example, if you received this warning and you want to create an executable file that uses the nondebug, single-threaded version of the run-time libraries, you could use the following options with the linker: /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib
/NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib

Linker Tools Warning LNK4099 PDB "filename" was not found with "object/library" or at " path"; linking object as if no debug info


Linker Tools Messages

Page 27 of 32

The linker was unable to find your .PDB file. Copy it into the directory that contains object/library. Return to Main Linker Error Page

Linker Warnings LNK4102 to LNK4549
Linker Tools Warning LNK4102 export of deleting destructor symbol name; image may not run correctly The program has attempted to export a deleting destructor. The resulting delete may occur across a DLL boundary such that a process can free memory that it does not own. Make sure that the given symbol is not listed in your .DEF file, and that the symbol is not listed as an argument of the /IMPORT or /EXPORT option in the linker command line. Linker Tools Warning LNK4103 import of deleting destructor "symbol name"; image may not run correctly The program has attempted to import a deleting destructor. The resulting delete may occur across a DLL boundary such that a process can free memory that it does not own. Make sure that the given symbol is not listed in your .DEF file, and that the symbol is not listed as an argument of the /IMPORT or /EXPORT option in the linker command line. Linker Tools Warning LNK4104 export of symbol "symbol" should be PRIVATE The symbol can be one of the following:
l l l l l

DllRegisterServer DllRegisterServerEx DllUnregisterServer DllGetClassObject DllCanUnloadNow

This warning is emitted when you are building an import library for a DLL and export one of the above functions without specifying it as PRIVATE in the module-definition file. In general these functions are exported for use only by OLE. Placing them in the import library can lead to unusual behavior when a program linked to the library incorrectly makes calls to them. Linker Tools Warning LNK4105 no argument specified with option option; ignoring switch This warning occurs only when the /LIBPATH option is set. If no directory is specified with this option, then the linker ignores this option and generates this warning message. If you do not need to override the existing environmental library settings, remove the /LIBPATH option from the linker command line. If you want to use an alternate search path for libraries, specify the alternate path following the /LIBPATH option. For example: link /libpath:c:\foo\lib bar.obj would direct the linker to search for the required libraries inc:\foo\lib before searching in the default locations. Linker Tools Warning LNK4106 "section name" section discarded due to "option" specification The option caused the linker to discard the section. Linker Tools Warning LNK4107


Linker Tools Messages

Page 28 of 32

"/option" not supported by this version of MSPDBxx.DLL; ignored MSPDBxx.DLL does not support the specified option. Linker Tools Warning LNK4108 /ALIGN specified without /DRIVER or /VXD; image may not run The /ALIGN option has been specified without also specifying either /DRIVER or /VXD. Bad alignment can prevent the operating system from loading the final image. Do not use the /ALIGN option unless building a driver or vxd. Linker Tools Warning LNK4194 /DELAYLOAD:dll name ignored The linker cannot delay load the requested DLL. Linker Tools Warning LNK4195 unable to load dll name The linker could not load the requested DLL. Linker Tools Warning LNK4197 export "exportname" specified multiple times; using first specification An export is specified in multiple, different ways. The linker uses the first specification and ignores the rest. Perhaps the same export is specified both on the command line (via export:) and in the .def file or listed twice in the .def file with different attributes. If an export is specified exactly the same way multiple times, the linker will not issue a warning. Linker Tools Warning LNK4198 base key "keyname" not found - using default The keyname, specified in a /BASE option, does not appear in the base address file. Linker Tools Warning LNK4199 /DELAYLOAD:dllname ignored; no imports found from dllname The linker ignores dllname because it does not need any of the functions that dllname exports. Linker Tools Warning LNK4200 corrupt line number information in object file; ignored The line number information in the object file has become corrupted. Rebuild. Linker Tools Warning LNK4543 Section "section" with invalid attributes ignored The linker could not determine the type of section and ignored it. Valid types for sections include text, data, bss, and rdata. Linker Tools Warning LNK4544 Symbol "symbol" specified with /IMPORT not referenced in application - ignored You specified a symbol with the /IMPORT option but it was not referenced in your program so the linker ignored it. Linker Tools Warning LNK4545 Container "container" specified with /IMPORT not referenced in application - ignored You specified an import library (container) with the /IMPORT option, but your program did not


Linker Tools Messages

Page 29 of 32

reference the library. The linker ignored the container. Linker Tools Warning LNK4546 Mismatch in versions detected. Container may not load. Use /VERBOSE for details. The linker detected a problem with versions in your import libraries (containers). To find out which container (and its version number) is causing the problem, rerun LINK with the /VERBOSE option. Linker Tools Warning LNK4547 Setting "versiontype" to version The linker set versiontype to version. Possible values for versiontype are CURRENTVER, OLDCODEVER, and OLDAPIVER. Linker Tools Warning LNK4548 Ignoring "versiontype" version The linker ignored version information ofversiontype. The possible values of versiontype are CURRENTVER, OLDCODEVER, and OLDAPIVER. Linker Tools Warning LNK4549 shared library "library" does not have any exports The shared library was ignored since it contained no exports. Return to Main Linker Error Page

Linker Warnings LNK6001 to LNK6026
Linker Tools Warning LNK6001 insufficient disk space; performing full link There was not enough space on disk for LINK to incrementally link the program. LINK attempted to correct the problem and recover disk space by running a full link to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6002 invalid .ILK file found; performing full link The incremental status (.ILK) file was not valid. Probably the previous incremental linking session was interrupted. LINK attempted to correct the problem by running a full link to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6003 LINK options changed; performing full link The options specified to the linker differed from the options used during the previous incremental linking session. LINK attempted to correct the problem by running a full link to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6004 filename not found or not built by the last incremental link; performing full link The given file was either deleted or changed since the last incremental linking session. LINK attempted to correct the problem by running a full link to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6005


Linker Tools Messages

Page 30 of 32

exports changed; performing full link One or more exports were added or deleted since the last incremental linking session. LINK attempted to correct the problem by running a full link to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6006 program database pdbname missing; performing full link LINK could not find the program database (.PDB) file that it created during the last incremental linking session. LINK attempted to correct the problem by running a full link to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6008 object file added; performing full link An object file was added since the last incremental linking session. A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6009 object file removed; performing full link An object file was removed since the last incremental linking session. A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6010 library changed; performing full link A library was modified since the last incremental linking session. A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6011 internal limit exceeded; performing full link An internal limit related to incremental linking was exceeded. LINK attempted to correct the problem by running a full link to recreate the incremental status (.ILK) file. One cause of this warning is an .ILK file that exceeds 8MB. If this size is due to the accumulation of dead space, that space will be recovered in a full link. Linker Tools Warning LNK6012 precompiled types found; performing full link An object file was compiled with /Z7 and the program used a precompiled header. LINK attempted to incrementally link by running a full link to recreate the incremental status (.ILK) file. Rebuild the object file with /Zi. Linker Tools Warning LNK6013 padding exhausted: performing full link An internal limit related to incremental linking was exceeded. LINK attempted to correct the problem by running a full link to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6014 symbol reference set changed; performing full link A reference to a symbol in a library was added since the last incremental linking session. A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6015


Linker Tools Messages

Page 31 of 32

bss (uninitialized data) change; performing full link A bss symbol was changed since the last incremental linking session. A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6016 absolute symbol changed; performing full link The address of an absolute symbol was changed since the last incremental linking session. A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6017 set of library modules referenced changed; performing full link A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6018 multiple definitions found for " symbol"; performing full link A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6019 directive changed; performing full link A directive was added or deleted since the last incremental linking session. A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6020 ILK file not built by this linker; performing full link The version number of the .ILK file was incorrect for this version of LINK. LINK attempted to correct the problem by running a full link to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6021 performing full link A full link was required in order to create the incremental status (.ILK) file. Linker Tools Warning LNK6022 unable to load .ILK file; performing full link The .incremental status (.ILK) file is unavailable because of the actions of another process. Linker Tools Warning LNK6023 unable to extend map for .ILK file; performing full link The .incremental status (.ILK) file cannot be written to because of the actions of another process. Linker Tools Warning LNK6024 Mac Resource File "filename" changed; performing full link A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6025 unable to do comdat selection; performing full link A full link was required in order to recreate the incremental status (.ILK) file. Linker Tools Warning LNK6026 obsolete DBI format found; performing full link


Linker Tools Messages

Page 32 of 32

A full link was required. The format of debugging information from Visual C++ version 4.0 or earlier. Code that was initially linked with version 4.0 and that is now linked with a later version thus has inconsistent debugging information. Therefore, a full link was performed to rectify the inconsistency. Return to Main Linker Error Page


BSCMAKE Messages BK1500 through BK4503

Page 1 of 4

BSCMAKE Messages BK1500 through BK4503
7KH IROORZLQJ GHVFULSWLRQV FRYHU %6&0$.( (UURU %. WKURXJK :DUQLQJ %. %6&0$.( (UURU %. 81.12:1 (5525 %6&0$.( GHWHFWHG DQ XQNQRZQ HUURU FRQGLWLRQ 1RWH WKH FLUFXPVWDQFHV RI WKH HUURU WU\ WR LVRODWH WKH SUREOHP DQG FUHDWH D UHSURGXFLEOH WHVW FDVH WKHQ UHSRUW WKH FLUFXPVWDQFHV WR WHFKQLFDO VXSSRUW %6&0$.( (UURU %. XQNQRZQ FKDUDFWHU
FKDUDFWHU
LQ RSWLRQ
RSWLRQ
%6&0$.( GLG QRW UHFRJQL]H WKH JLYHQ FKDUDFWHU VSHFLILHG IRU WKH JLYHQ RSWLRQ %6&0$.( (UURU %. LQFRPSOHWH VSHFLILFDWLRQ IRU RSWLRQ
RSWLRQ
7KH JLYHQ RSWLRQ GLG QRW FRQWDLQ WKH FRUUHFW V\QWD[ %6&0$.( (UURU %. FDQQRW ZULWH WR ILOH
ILOHQDPH
> UHDVRQ@ %6&0$.( FRXOG QRW ZULWH WR WKH JLYHQ ILOH 7KLV PHVVDJH PD\ EH IROORZHG E\ D UHDVRQ IURP WKH RSHUDWLQJ V\VWHP JLYLQJ DGGLWLRQDO LQIRUPDWLRQ 2QH RI WKH IROORZLQJ PD\ KDYH RFFXUUHG

l 7KH GLVN ZDV IXOO l $ KDUGZDUH HUURU RFFXUUHG
%6&0$.( (UURU %. FDQQRW SRVLWLRQ LQ ILOH
ILOHQDPH
> UHDVRQ@ %6&0$.( FRXOG QRW PRYH WR D ORFDWLRQ LQ WKH JLYHQ ILOH 7KLV PHVVDJH PD\ EH IROORZHG E\ D UHDVRQ IURP WKH RSHUDWLQJ V\VWHP JLYLQJ DGGLWLRQDO LQIRUPDWLRQ 2QH RI WKH IROORZLQJ PD\ KDYH RFFXUUHG

l 7KH GLVN ZDV IXOO l $ KDUGZDUH HUURU RFFXUUHG l 7KH ILOH ZDV WUXQFDWHG 7UXQFDWLRQ FDQ RFFXU LI WKH FRPSLOHU UXQV RXW RI GLVN VSDFH RU LV LQWHUUXSWHG ZKHQ LW LV FUHDWLQJ WKH 6%5 ILOH
%6&0$.( (UURU %. FDQQRW UHDG IURP ILOH
ILOHQDPH
> UHDVRQ@ %6&0$.( FRXOG QRW UHDG IURP WKH JLYHQ ILOH 7KLV PHVVDJH PD\ EH IROORZHG E\ D UHDVRQ IURP WKH RSHUDWLQJ V\VWHP JLYLQJ DGGLWLRQDO LQIRUPDWLRQ 2QH RI WKH IROORZLQJ PD\ KDYH RFFXUUHG

l 7KH ILOH ZDV FRUUXSW l 7KH ILOH ZDV WUXQFDWHG 7UXQFDWLRQ FDQ RFFXU LI WKH FRPSLOHU UXQV RXW RI GLVN VSDFH RU LV LQWHUUXSWHG ZKHQ LW LV FUHDWLQJ WKH 6%5 ILOH
%6&0$.( (UURU %. FDQQRW RSHQ ILOH
ILOHQDPH
> UHDVRQ@ %6&0$.( FRXOG QRW RSHQ WKH JLYHQ ILOH 7KLV PHVVDJH PD\ EH IROORZHG E\ D PHVVDJH IURP WKH RSHUDWLQJ V\VWHP JLYLQJ DGGLWLRQDO LQIRUPDWLRQ 2QH RI WKH IROORZLQJ PD\ KDYH RFFXUUHG

l 7KH ILOH ZDV ORFNHG E\ DQRWKHU SURFHVV ,I UHDVRQ ZDV 3HUPLVVLRQ GHQLHG WKH EURZVHU LQ WKH GHYHORSPHQW HQYLURQPHQW PLJKW EH XVLQJ WKH ILOH &ORVH WKH %URZVH ZLQGRZ DQG


BSCMAKE Messages BK1500 through BK4503
UHSHDW WKH EXLOG l 7KH GLVN ZDV IXOO l $ KDUGZDUH HUURU RFFXUUHG l 7KH VSHFLILHG RXWSXW ILOH KDG WKH VDPH QDPH DV DQ H[LVWLQJ VXEGLUHFWRU\

Page 2 of 4

%6&0$.( (UURU %. FDQQRW RSHQ WHPSRUDU\ ILOH
ILOHQDPH
> UHDVRQ@ %6&0$.( FRXOG QRW RSHQ RQH RI LWV WHPSRUDU\ ILOHV 7KLV PHVVDJH PD\ EH IROORZHG E\ D UHDVRQ IURP WKH RSHUDWLQJ V\VWHP JLYLQJ DGGLWLRQDO LQIRUPDWLRQ 2QH RI WKH IROORZLQJ PD\ KDYH RFFXUUHG

l 7KH 703 HQYLURQPHQW YDULDEOH ZDV QRW VHW WR D YDOLG GULYH DQG GLUHFWRU\ l 7KH GLVN ZDV IXOO
%6&0$.( (UURU %. FDQQRW GHOHWH WHPSRUDU\ ILOH
ILOHQDPH
> UHDVRQ@ %6&0$.( FRXOG QRW GHOHWH RQH RI LWV WHPSRUDU\ ILOHV 7KLV PHVVDJH PD\ EH IROORZHG E\ D UHDVRQ IURP WKH RSHUDWLQJ V\VWHP JLYLQJ DGGLWLRQDO LQIRUPDWLRQ 2QH RI WKH IROORZLQJ PD\ KDYH RFFXUUHG

l $QRWKHU SURFHVV KDG WKH ILOH RSHQ l $ KDUGZDUH HUURU RFFXUUHG
%6&0$.( (UURU %. RXW RI KHDS VSDFH %6&0$.( UDQ RXW RI PHPRU\ LQFOXGLQJ YLUWXDO PHPRU\ 2QH RI WKH IROORZLQJ PD\ EH D VROXWLRQ

l )UHH VRPH VSDFH RQ GLVN l ,QFUHDVH WKH VL]H RI WKH :LQGRZV VZDS ILOH &RQVLGHU XVLQJ WKH &RQWURO 3DQHO 6\VWHP LFRQ 3HUIRUPDQFH WDE WR LQFUHDVH \RXU V\VWHP
V YLUWXDO PHPRU\ UHERRW DQG UHWU\ l 5HGXFH WKH PHPRU\ WKDW %6&0$.( ZLOO UHTXLUH E\ XVLQJ RQH RU PRUH RSWLRQV 8VH (L RU (V WR HOLPLQDWH VRPH LQSXW ILOHV 8VH (P WR HOLPLQDWH PDFUR ERGLHV
%6&0$.( (UURU %. FRUUXSW 6%5 ILOH
ILOHQDPH
7KH JLYHQ 6%5 ILOH LV FRUUXSW RU GRHV QRW KDYH WKH H[SHFWHG IRUPDW 5HFRPSLOH WR UHJHQHUDWH WKH 6%5 ILOH %6&0$.( (UURU %. LQYDOLG UHVSRQVH ILOH VSHFLILFDWLRQ %6&0$.( GLG QRW XQGHUVWDQG WKH FRPPDQGOLQH VSHFLILFDWLRQ IRU WKH UHVSRQVH ILOH 7KH VSHFLILFDWLRQ ZDV SUREDEO\ ZURQJ RU LQFRPSOHWH )RU H[DPSOH WKH IROORZLQJ VSHFLILFDWLRQ FDXVHV WKLV HUURU bscmake @ %6&0$.( (UURU %. ILOHQDPH FDSDFLW\ H[FHHGHG %6&0$.( FRXOG QRW EXLOG D EURZVH LQIRUPDWLRQ ILOH EHFDXVH WKH QXPEHU RI GHILQLWLRQV UHIHUHQFHV PRGXOHV RU RWKHU LQIRUPDWLRQ H[FHHGHG WKH OLPLW 2QH RI WKH IROORZLQJ PD\ EH D VROXWLRQ

l ([FOXGH VRPH LQIRUPDWLRQ XVLQJ WKH (P (V RU (L RSWLRQ l 2PLW WKH ,X RSWLRQ LI LW ZDV XVHG
%6&0$.( (UURU %.


BSCMAKE Messages BK1500 through BK4503

Page 3 of 4

QRQLQFUHPHQWDO XSGDWH UHTXLUHV DOO 6%5 ILOHV $Q DWWHPSW ZDV PDGH WR EXLOG D QHZ EURZVH LQIRUPDWLRQ %6& ILOH EXW RQH RU PRUH RI WKH VSHFLILHG 6%5 ILOHV ZDV WUXQFDWHG 7KLV PHVVDJH LV DOZD\V SUHFHGHG E\ ZDUQLQJ %. ZKLFK JLYHV WKH QDPH RI WKH 6%5 ILOH WKDW FDXVHG WKH HUURU %6&0$.( FDQ SURFHVV D WUXQFDWHG RU ]HUROHQJWK 6%5 ILOH RQO\ ZKHQ D %6& ILOH DOUHDG\ H[LVWV DQG LV EHLQJ LQFUHPHQWDOO\ XSGDWHG 2QH RI WKH IROORZLQJ PD\ EH D FDXVH

l 7KH %6& ILOH ZDV PLVVLQJ l 7KH ZURQJ ILOHQDPH ZDV VSHFLILHG l 7KH ILOH ZDV FRUUXSWHG DQG D IXOO EXLOG ZDV UHTXLUHG
%6&0$.( (UURU %. DOO 6%5 ILOHV WUXQFDWHG QRQH IRXQG LQ ILOHQDPH 1RQH RI WKH 6%5 ILOHV VSHFLILHG IRU DQ XSGDWH ZDV D SDUW RI WKH RULJLQDO EURZVH LQIRUPDWLRQ %6& ILOH 7KLV PHVVDJH LV DOZD\V SUHFHGHG E\ ZDUQLQJ %. ZKLFK JLYHV WKH QDPH RI WKH 6%5 ILOH WKDW FDXVHG WKH HUURU 2QH RI WKH IROORZLQJ PD\ EH D FDXVH

l 7KH ZURQJ ILOHQDPH ZDV VSHFLILHG l 7KH ILOH ZDV FRUUXSWHG DQG D IXOO EXLOG ZDV UHTXLUHG
%6&0$.( (UURU %.
EVFILOH
LQFRPSDWLEOH YHUVLRQ FDQQRW LQFUHPHQWDOO\ XSGDWH 7KH JLYHQ EURZVH LQIRUPDWLRQ %6& ILOH ZDV QRW FUHDWHG ZLWK WKLV YHUVLRQ RI %6&0$.( $ %6& ILOH FDQ EH LQFUHPHQWDOO\ EXLOW RQO\ E\ WKH VDPH YHUVLRQ RI %6&0$.( DV WKH RQH XVHG WR IXOO\ EXLOG WKDW ILOH %6&0$.( (UURU %.
EVFILOH
FRUUXSW FDQQRW LQFUHPHQWDOO\ XSGDWH 7KH JLYHQ EURZVH LQIRUPDWLRQ %6& ILOH ZDV FRUUXSWHG SRVVLEO\ GXH WR D V\VWHP IDLOXUH GXULQJ WKH EXLOG 'HOHWH WKH %6& ILOH UHEXLOG DOO 6%5 ILOHV WKHQ UHEXLOG WKH %6& ILOH %6&0$.( (UURU %. VRXUFH ILOH IRU
ILOHQDPH
FRPSLOHG ZLWK ERWK RSWLRQ
%6&0$.( GLG QRW UHFRJQL]H WKH JLYHQ RSWLRQ DQG LJQRUHG LW %6&0$.( :DUQLQJ %. WUXQFDWHG 6%5 ILOH
ILOHQDPH
QRW LQ ILOHQDPH 7KH JLYHQ ]HUROHQJWK 6%5 ILOH VSHFLILHG GXULQJ DQ XSGDWH ZDV QRW RULJLQDOO\ SDUW RI WKH EURZVH LQIRUPDWLRQ %6& ILOH ,I D ]HUROHQJWK ILOH WKDW LV QRW SDUW RI WKH RULJLQDO EXLOG RI WKH %6& ILOH LV VSHFLILHG GXULQJ D UHEXLOG RI WKDW ILOH %6&0$.( LVVXHV WKLV ZDUQLQJ 2QH RI WKH IROORZLQJ PD\ EH D FDXVH


BSCMAKE Messages BK1500 through BK4503

Page 4 of 4

l 7KH ZURQJ ILOHQDPH ZDV VSHFLILHG l 7KH ILOH ZDV GHOHWHG (UURU %. ZLOO UHVXOW l 7KH ILOH ZDV FRUUXSWHG UHTXLULQJ D IXOO EXLOG
%6&0$.( :DUQLQJ %. PLQRU HUURU LQ 6%5 ILOH
ILOHQDPH
LJQRUHG 7KH JLYHQ 6%5 ILOH FRQWDLQHG DQ HUURU WKDW GLG QRW KDOW WKH EXLOG +RZHYHU WKH UHVXOWLQJ %6& ILOH PD\ QRW EH FRUUHFW 5HFRPSLOH WR UHJHQHUDWH WKH 6%5 ILOH


C Run-Time Errors R6002 through R6025

Page 1 of 3

C Run-Time Errors R6002 through R6025
7KH IROORZLQJ GHVFULSWLRQV FRYHU & 5XQ7LPH (UURUV 5 WKURXJK 5 IRU PL[HGODQJXDJH SURJUDPPLQJ & 5XQ7LPH (UURU 5 IORDWLQJSRLQW VXSSRUW QRW ORDGHG 7KH SURJUDP QHHGV WKH IORDWLQJSRLQW OLEUDU\ EXW WKH OLEUDU\ ZDV QRW OLQNHG WR WKH SURJUDP 2QH RI WKH IROORZLQJ PD\ KDYH RFFXUUHG

l 7KH SURJUDP ZDV FRPSLOHG RU OLQNHG ZLWK DQ RSWLRQ VXFK DV )3L WKDW UHTXLUHG D FRSURFHVVRU EXW WKH SURJUDP ZDV UXQ RQ D PDFKLQH WKDW GLG QRW KDYH D FRSURFHVVRU LQVWDOOHG l $ IRUPDW VWULQJ IRU D SULQWI RU VFDQI IXQFWLRQ FRQWDLQHG D IORDWLQJSRLQW IRUPDW VSHFLILFDWLRQ DQG WKH SURJUDP GLG QRW FRQWDLQ DQ\ IORDWLQJSRLQW YDOXHV RU YDULDEOHV l 7KH FRPSLOHU PLQLPL]HV D SURJUDP
V VL]H E\ ORDGLQJ IORDWLQJSRLQW VXSSRUW RQO\ ZKHQ QHFHVVDU\ 7KH FRPSLOHU FDQQRW GHWHFW IORDWLQJSRLQW IRUPDW VSHFLILFDWLRQV LQ IRUPDW VWULQJV VR LW GRHV QRW ORDG WKH QHFHVVDU\ IORDWLQJSRLQW URXWLQHV l 8VH D IORDWLQJSRLQW DUJXPHQW WR FRUUHVSRQG WR WKH IORDWLQJSRLQW IRUPDW VSHFLILFDWLRQ RU SHUIRUP D IORDWLQJSRLQW DVVLJQPHQW HOVHZKHUH LQ WKH SURJUDP 7KLV FDXVHV IORDWLQJSRLQW VXSSRUW WR EH ORDGHG l ,Q D PL[HGODQJXDJH SURJUDP D & OLEUDU\ ZDV VSHFLILHG EHIRUH D )2575$1 OLEUDU\ ZKHQ WKH SURJUDP ZDV OLQNHG 5HOLQN DQG VSHFLI\ WKH & OLEUDU\ ODVW
& 5XQ7LPH (UURU 5 QRW HQRXJK PHPRU\ RQ BH[HF 1RW HQRXJK PHPRU\ ZDV DYDLODEOH WR ORDG WKH SURFHVV EHLQJ VSDZQHG 7KLV HUURU RFFXUV ZKHQ D FKLOG SURFHVV WKDW ZDV VSDZQHG E\ RQH RI WKH BH[HF OLEUDU\ URXWLQHV IDLOV DQG WKH RSHUDWLQJ V\VWHP FDQQRW UHWXUQ FRQWURO WR WKH SDUHQW SURFHVV & 5XQ7LPH (UURU 5 LQYDOLG IRUPDW RQ BH[HF 7KH ILOH WR EH H[HFXWHG E\ RQH RI WKH BH[HF IXQFWLRQV ZDV QRW LQ WKH FRUUHFW IRUPDW IRU DQ H[HFXWDEOH ILOH 7KLV HUURU RFFXUV ZKHQ D FKLOG SURFHVV WKDW ZDV VSDZQHG E\ RQH RI WKH BH[HF OLEUDU\ URXWLQHV IDLOV DQG WKH RSHUDWLQJ V\VWHP FDQQRW UHWXUQ FRQWURO WR WKH SDUHQW SURFHVV & 5XQ7LPH (UURU 5 LQYDOLG HQYLURQPHQW RQ BH[HF 'XULQJ D FDOO WR DQ BH[HF IXQFWLRQ WKH RSHUDWLQJ V\VWHP IRXQG WKDW WKH FKLOG SURFHVV ZDV JLYHQ DQ LQYDOLG HQYLURQPHQW EORFN 7KLV HUURU RFFXUV ZKHQ D FKLOG SURFHVV WKDW ZDV VSDZQHG E\ RQH RI WKH BH[HF OLEUDU\ URXWLQHV IDLOV DQG WKH RSHUDWLQJ V\VWHP FDQQRW UHWXUQ FRQWURO WR WKH SDUHQW SURFHVV & 5XQ7LPH (UURU 5 QRW HQRXJK VSDFH IRU DUJXPHQWV 7KHUH ZDV HQRXJK PHPRU\ WR ORDG WKH SURJUDP EXW QRW HQRXJK PHPRU\ WR FUHDWH WKH DUJY DUUD\ 2QH RI WKH IROORZLQJ PD\ EH D VROXWLRQ

l ,QFUHDVH WKH DPRXQW RI YLUWXDO PHPRU\ DYDLODEOH WR WKH SURJUDP &RQVLGHU XVLQJ WKH &RQWURO 3DQHO 6\VWHP LFRQ 3HUIRUPDQFH WDE WR LQFUHDVH \RXU V\VWHP
V YLUWXDO PHPRU\ UHERRW DQG UHWU\ l 5HGXFH WKH QXPEHU DQG VL]H RI FRPPDQGOLQH DUJXPHQWV l 5HGXFH WKH HQYLURQPHQW VL]H E\ UHPRYLQJ XQQHFHVVDU\ YDULDEOHV


C Run-Time Errors R6002 through R6025

Page 2 of 3

& 5XQ7LPH (UURU 5 QRW HQRXJK VSDFH IRU HQYLURQPHQW 7KHUH ZDV HQRXJK PHPRU\ WR ORDG WKH SURJUDP EXW QRW HQRXJK PHPRU\ WR FUHDWH WKH HQYS DUUD\ 2QH RI WKH IROORZLQJ PD\ EH D VROXWLRQ

l ,QFUHDVH WKH DPRXQW RI PHPRU\ DYDLODEOH WR WKH SURJUDP l 5HGXFH WKH QXPEHU DQG VL]H RI FRPPDQGOLQH DUJXPHQWV l 5HGXFH WKH HQYLURQPHQW VL]H E\ UHPRYLQJ XQQHFHVVDU\ YDULDEOHV
,I \RXU SURJUDP XVHV WKH FRPSDFW ODUJH RU KXJH PHPRU\ PRGHO WKLV HUURU PD\ EH DYRLGHG E\ XVLQJ /,1.
V &3$50 FRPPDQGOLQH RSWLRQ 7KLV RSWLRQ FDXVHV XQXVHG QHDU KHDS VSDFH WR EH DOORFDWHG WR WKH IDU KHDS & 5XQ7LPH (UURU 5 QRW HQRXJK VSDFH IRU WKUHDG GDWD 7KH SURJUDP GLG QRW UHFHLYH HQRXJK PHPRU\ IURP WKH RSHUDWLQJ V\VWHP WR FRPSOHWH D BEHJLQWKUHDG FDOO :KHQ D QHZ WKUHDG LV VWDUWHG WKH OLEUDU\ PXVW FUHDWH DQ LQWHUQDO GDWDEDVH IRU WKH WKUHDG ,I WKH GDWDEDVH FDQQRW EH H[SDQGHG ZLWK PHPRU\ SURYLGHG E\ WKH RSHUDWLQJ V\VWHP WKH WKUHDG ZLOO QRW EHJLQ DQG WKH FDOOLQJ SURFHVV ZLOO VWRS & 5XQ7LPH (UURU 5 XQH[SHFWHG PXOWLWKUHDG ORFN HUURU 7KH SURFHVV UHFHLYHG DQ XQH[SHFWHG HUURU ZKLOH WU\LQJ WR DFFHVV D & UXQWLPH PXOWLWKUHDG ORFN RQ D V\VWHP UHVRXUFH 7KLV HUURU XVXDOO\ RFFXUV LI WKH SURFHVV LQDGYHUWHQWO\ DOWHUV WKH UXQWLPH KHDS GDWD +RZHYHU LW FDQ DOVR EH FDXVHG E\ DQ LQWHUQDO HUURU LQ WKH UXQWLPH RU RSHUDWLQJ V\VWHP FRGH & 5XQ7LPH (UURU 5 XQH[SHFWHG KHDS HUURU 7KH SURJUDP HQFRXQWHUHG DQ XQH[SHFWHG HUURU ZKLOH SHUIRUPLQJ D PHPRU\PDQDJHPHQW RSHUDWLRQ 7KLV HUURU XVXDOO\ RFFXUV LI WKH SURJUDP LQDGYHUWHQWO\ DOWHUV WKH UXQWLPH KHDS GDWD +RZHYHU LW FDQ DOVR EH FDXVHG E\ DQ LQWHUQDO HUURU LQ WKH UXQWLPH RU RSHUDWLQJV\VWHP FRGH ,I \RXU FRPSLOHU SURYLGHV D OLEUDU\ FRQWDLQLQJ BKHDSFKN DQG BKHDSZDON \RX FDQ XVH WKHVH IXQFWLRQV WR GLDJQRVH WKLV HUURU & 5XQ7LPH (UURU 5 XQDEOH WR RSHQ FRQVROH GHYLFH 7KH SURJUDP FDOOHG D FRQVROH IXQFWLRQ GHFODUHG LQ &21,2+ EXW WKH RSHUDWLQJ V\VWHP GLG QRW JUDQW DFFHVV WR WKH FRQVROH & 5XQ7LPH (UURU 5 QR PDLQ SURFHGXUH 7KH SURJUDP GRHV QRW KDYH D SURFHGXUH FDOOHG PDLQ 0DNH VXUH WKDW DOO REMHFW DQG OLEUDU\ PRGXOHV KDYH EHHQ OLQNHG LQWR WKH H[HFXWDEOH & 5XQ7LPH (UURU 5 QRW HQRXJK VSDFH IRU BRQH[LWDWH[LW WDEOH 7KHUH ZDV QR PHPRU\ DYDLODEOH IRU WKH BRQH[LW RU DWH[LW IXQFWLRQ 7KLV HUURU LV FDXVHG E\ D ORZ PHPRU\ FRQGLWLRQ & 5XQ7LPH (UURU 5 SXUH YLUWXDO IXQFWLRQ FDOO


C Run-Time Errors R6002 through R6025

Page 3 of 3

1R REMHFW KDV EHHQ LQVWDQWLDWHG WR KDQGOH WKH SXUH YLUWXDO IXQFWLRQ FDOO 7KLV HUURU LV FDXVHG E\ FDOOLQJ D YLUWXDO IXQFWLRQ LQ DQ DEVWUDFW EDVH FODVV WKURXJK D SRLQWHU WKDW LV FUHDWHG E\ D FDVW WR WKH W\SH RI WKH GHULYHG FODVV EXW LV DFWXDOO\ D SRLQWHU WR WKH EDVH FODVV 7KLV FDQ RFFXU ZKHQ FDVWLQJ IURP D YRLG WR D SRLQWHU WR D FODVV ZKHQ WKH YRLG ZDV FUHDWHG GXULQJ WKH FRQVWUXFWLRQ RI WKH EDVH FODVV


CVPACK Messages CK1001 through CK4010

Page 1 of 4

CVPACK Messages CK1001 through CK4010
7KH IROORZLQJ GHVFULSWLRQV FRYHU &93$&. HUURU &. WKURXJK ZDUQLQJ &. &93$&. )DWDO (UURU &. RXW RI PHPRU\ &93$&. UDQ RXW RI PHPRU\ 2QH RI WKH IROORZLQJ PD\ EH D VROXWLRQ

l )UHH VRPH VSDFH RQ GLVN l ,QFUHDVH WKH YLUWXDO PHPRU\ DYDLODEOH &RQVLGHU XVLQJ WKH &RQWURO 3DQHO 6\VWHP LFRQ 3HUIRUPDQFH WDE WR LQFUHDVH \RXU V\VWHP
V YLUWXDO PHPRU\ UHERRW DQG UHWU\ l 5HFRPSLOH RQH RU PRUH RI WKH REMHFW ILOHV ZLWKRXW GHEXJJLQJ LQIRUPDWLRQ ,I WKH ILOH ZDV FRPSLOHG XVLQJ GHEXJIXOO RU =L RU = HLWKHU XVH GHEXJPLQLPDO RU =G RU GR QRW XVH D GHEXJJLQJ RSWLRQ
&93$&. )DWDO (UURU &. RXW RI PHPRU\ &93$&. UDQ RXW RI PHPRU\ 2QH RI WKH IROORZLQJ PD\ EH D VROXWLRQ

l )UHH VRPH VSDFH RQ GLVN l ,QFUHDVH WKH VL]H RI WKH :LQGRZV 17 SDJLQJ ILOH RU WKH :LQGRZV VZDS ILOH l 5HFRPSLOH RQH RU PRUH RI WKH REMHFW ILOHV ZLWKRXW GHEXJJLQJ LQIRUPDWLRQ ,I WKH ILOH ZDV FRPSLOHG XVLQJ =L RU = HLWKHU XVH =G RU GR QRW XVH D GHEXJJLQJ RSWLRQ
&93$&. )DWDO (UURU &. FDQQRW RSHQ ILOH ILOHQDPH &93$&. FRXOG QRW RSHQ WKH JLYHQ ILOH 2QH RI WKH IROORZLQJ PD\ EH D FDXVH

l 7KH ILOH GRHV QRW H[LVW &KHFN WKH VSHOOLQJ RI WKH ILOHQDPH DQG SDWK l 7KH ILOH ZDV RSHQHG RU GHOHWHG E\ DQRWKHU SURFHVV l 7KHUH ZDV QRW HQRXJK VSDFH RQ GLVN
&93$&. )DWDO (UURU &. ILOHQDPH LV UHDGRQO\ 7KH JLYHQ ILOH LV D UHDGRQO\ ILOH RU WKH SDWK LV RQ D UHDGRQO\ GULYH &93$&. )DWDO (UURU &. LQYDOLG H[HFXWDEOH ILOH &93$&. FRXOG QRW SURFHVV WKH H[HFXWDEOH ILOH 2QH RI WKH IROORZLQJ PD\ EH D FDXVH

l 7KH GHEXJJLQJ LQIRUPDWLRQ LQ WKH H[HFXWDEOH ILOH LV FRUUXSW l 7KH H[HFXWDEOH ILOH LV D ]HUROHQJWK ILOH
&93$&. )DWDO (UURU &. LQYDOLG PRGXOH PRGXOH 7KH PRGXOH GRHV QRW KDYH D YDOLG IRUPDW RU LV FRUUXSW 5HFRPSLOH DQG UHOLQN &93$&. )DWDO (UURU &. LQYDOLG WDEOH WDEOH LQ PRGXOH PRGXOH 7KH JLYHQ WDEOH LQ WKH JLYHQ REMHFW ILOH LV QRW YDOLG RU WKH PRGXOH LV FRUUXSW 5HFRPSLOH DQG UHOLQN ,I WKH HUURU UHFXUV WU\ XVLQJ GLIIHUHQW RSWLRQV


CVPACK Messages CK1001 through CK4010

Page 2 of 4

&93$&. )DWDO (UURU &. FDQQRW ZULWH RXWSXW ILOH 7KH GLVN LV SUREDEO\ IXOO 7KLV HUURU OHDYHV D FRUUXSW ILOH RQ GLVN &93$&. )DWDO (UURU &. W\SH LQIRUPDWLRQ FRUUXSW UHFRPSLOH PRGXOH PRGXOHQDPH 7KH JLYHQ REMHFW ILOH FRQWDLQV FRUUXSWHG LQIRUPDWLRQ 5HFRPSLOH 7U\ FRPSLOLQJ ZLWK D GLIIHUHQW GHEXJ NH\ZRUG &93$&. )DWDO (UURU &. QR GHEXJJLQJ LQIRUPDWLRQ 7KH H[HFXWDEOH ILOH GRHV QRW FRQWDLQ GHEXJJLQJ LQIRUPDWLRQ 'R RQH RI WKH IROORZLQJ

l 7R SXW DW OHDVW PLQLPDO GHEXJJLQJ LQIRUPDWLRQ LQWR WKH H[HFXWDEOH ILOH OLQN XVLQJ WKH '(%8* RSWLRQ l 7R LQFOXGH IXOO GHEXJJLQJ LQIRUPDWLRQ LQ DQ REMHFW ILOH FRPSLOH RU DVVHPEOH XVLQJ WKH =L RU = RSWLRQ l 7R LQFOXGH PLQLPDO LQIRUPDWLRQ DQG OLQH QXPEHUV LQ DQ REMHFW ILOH FRPSLOH RU DVVHPEOH XVLQJ WKH =G RSWLRQ
&93$&. )DWDO (UURU &. LQFRPSDWLEOH YHUVLRQ RI GHEXJJLQJ LQIRUPDWLRQ 2QH RI WKH IROORZLQJ KDV RFFXUUHG

l 7KH H[HFXWDEOH ILOH ZDV OLQNHG XVLQJ DQ REVROHWH RU XQVXSSRUWHG OLQNHU l 7KH H[HFXWDEOH ILOH ZDV DOUHDG\ SDFNHG XVLQJ D SUHYLRXV YHUVLRQ RI &93$&. l 7KH H[HFXWDEOH ILOH LV FRUUXSW 5HFRPSLOH DQG UHOLQN
&93$&. )DWDO (UURU &. FDQQRW ILQG SUHFRPSLOHG W\SHV ILOH UHOLQN ZLWK ILOHQDPH 7KH SURJUDP XVHG D SUHFRPSLOHG KHDGHU EXW WKH SURJUDP ZDV OLQNHG ZLWKRXW ILOHQDPH 7KLV ILOH LV WKH REMHFW ILOH WKDW ZDV FUHDWHG ZKHQ WKH KHDGHU ZDV SUHFRPSLOHG ,I WKH SURJUDP XVHV D OLEUDU\ WKDW ZDV FUHDWHG XVLQJ SUHFRPSLOHG KHDGHUV WKHQ ILOHQDPH ZDV QRW OLQNHG IURP WKH OLEUDU\ 2QH RI WKH IROORZLQJ PD\ EH D VROXWLRQ

l ([WUDFW WKH REMHFW IURP WKH OLEUDU\ DQG OLQN LW WR l )RUFH /,1. WR LQFOXGH WKH REMHFW LQ WKH SURJUDP V\PERO IURP WKH REMHFW l &KDQJH WKH VRXUFH FRGH VR WKDW FRGH RU GDWD LQ REMHFW ILOH WKDW XVHV WKH OLEUDU\ RU IURP DQRWKHU OLEUDU\

WKH SURJUDP H[SOLFLWO\ E\ VSHFLI\LQJ WKH ,1&/8'( RSWLRQ ZLWK D ILOHQDPH LV UHIHUHQFHG HLWKHU IURP DQ PRGXOH WKDW LV EHLQJ OLQNHG IURP WKH

&93$&. )DWDO (UURU &. XVHUILOH FDQQRW XVH SUHFRPSLOHG W\SHV ILOH SFWILOH W\SH FRXQWV GR QRW PDWFK 7KH XVHUILOH XVHV WKH SUHFRPSLOHG W\SHV ILOH SFWILOH EXW SFWILOH GRHV QRW FRQWDLQ WKH FRUUHFW QXPEHU RI W\SHV IRU XVHUILOH 5HFRPSLOH XVHUILOH DQG UHOLQN ,I D PDNHILOH LV XVHG FKHFN WKH PDNHILOH GHSHQGHQFLHV &93$&. )DWDO (UURU &. XVHUILOH FDQQRW XVH SUHFRPSLOHG W\SHV ILOH SFWILOH VLJQDWXUHV GR QRW PDWFK 7KH XVHUILOH XVHV WKH SUHFRPSLOHG W\SHV ILOH SFWILOH EXW WKH LQWHUQDO VLJQDWXUH LQ SFWILOH GRHV QRW PDWFK WKH LQWHUQDO VLJQDWXUH LQ XVHUILOH 3UREDEO\ SFWILOH ZDV UHEXLOW EXW XVHUILOH ZDV QRW UHEXLOW 5HFRPSLOH XVHUILOH DQG UHOLQN ,I D PDNHILOH LV XVHG FKHFN WKH PDNHILOH GHSHQGHQFLHV


CVPACK Messages CK1001 through CK4010

Page 3 of 4

&93$&. )DWDO (UURU &. FDQQRW RSHQ SURJUDP GDWDEDVH SGEILOH &93$&. FRXOG QRW RSHQ WKH JLYHQ SURJUDP GDWDEDVH 3'% ILOH 2QH RI WKH IROORZLQJ PD\ EH D FDXVH

l 7KH 3'% ILOH GRHV QRW H[LVW &KHFN WKH VSHOOLQJ RI WKH ILOHQDPH DQG SDWK l 7KH 3'% ILOH ZDV RSHQHG RU GHOHWHG E\ DQRWKHU SURFHVV
&93$&. DQG /,1. ORRN IRU 3'% ILOHV LQ WKH IROORZLQJ ORFDWLRQV LQ WKLV RUGHU :KHUH WKH (;( RU '// UHVLGHV WKH DEVROXWH SDWK ZULWWHQ LQ WKH 2%- ILOH :KHUH WKH 2%- RU '// LV RSHQHG IURP V QDPH RU ORFDWLRQ RQ WKH FRPPDQG OLQH &93$&. )DWDO (UURU &. PRGXOHQDPH FDQQRW XVH SURJUDP GDWDEDVH SGEILOH PRGXOH QHZHU WKDQ GDWDEDVH 7KH 2%- ILOH PRGXOHQDPH XVHV WKH 3'% ILOH SGEILOH EXW SGEILOH LV ROGHU WKDQ PRGXOHQDPH 5HFRPSLOH DQG UHOLQN ,I D PDNHILOH LV XVHG FKHFN WKH PDNHILOH GHSHQGHQFLHV &93$&. )DWDO (UURU &. PRGXOHQDPH FDQQRW XVH SURJUDP GDWDEDVH SGEILOH VLJQDWXUHV GR QRW PDWFK 7KH 2%- ILOH PRGXOHQDPH XVHV WKH 3'% ILOH SGEILOH EXW WKH LQWHUQDO VLJQDWXUH LQ SGEILOH GRHV QRW PDWFK WKH LQWHUQDO VLJQDWXUH LQ PRGXOHQDPH 'HOHWH PRGXOHQDPH UHFRPSLOH DQG UHOLQN ,I D PDNHILOH LV XVHG FKHFN WKH PDNHILOH GHSHQGHQFLHV &93$&. )DWDO (UURU &. LQFRUUHFW &2)) V\PERO WDEOH &93$&. ZDV XQDEOH WR LQWHUSUHW WKH &2)) V\PEROV HPLWWHG E\ WKH FRPSLOHU 5HFRPSLOH DQG UHOLQN &93$&. )DWDO (UURU &. \RX KDYH DFFHVVHG DQ LQFRUUHFW YHUVLRQ RI 063'%'// UHFKHFN \RXU LQVWDOODWLRQ &93$&. )DWDO (UURU &. ILOH FRPSLOHG

CVPACK Messages CK1001 through CK4010

Page 4 of 4

GLVFDUGHG WKH UHFRUG 7KH GHEXJJHU FDQ UXQ WKH UHVXOWLQJ H[HFXWDEOH ILOH +RZHYHU WKH V\PERO ZLOO EH DFFHVVLEOH RQO\ E\ WKH GHFRUDWHG QDPH NQRZQ WR WKH OLQNHU DQG GLVSOD\ RI WKH V\PERO ZLOO EH OLPLWHG 7R VHH GHFRUDWHG QDPHV RI LGHQWLILHUV XVH '803%,1 81'(&25$7( &93$&. :DUQLQJ &. XQUHFRJQL]HG W\SH FRQYHUWHG WR 18// UHFRPSLOH PRGXOH PRGXOHQDPH 7KH FRPSLOHU JHQHUDWHG DQ LQYDOLG W\SH UHFRUG LQ WKH PRGXOHQDPH REMHFW ILOH &93$&. GLVFDUGHG WKH UHFRUG 7KH GHEXJJHU FDQ UXQ WKH UHVXOWLQJ H[HFXWDEOH ILOH EXW GLVSOD\ RI REMHFWV WKDW UHIHUHQFH WKH LQYDOLG W\SH ZLOO EH OLPLWHG &93$&. :DUQLQJ &. W\SH OHQJWK OLPLW H[FHHGHG FRQYHUWHG WR 18// $ VWUXFW HQXP XQLRQ RU FODVV ZDV WRR ODUJH IRU &93$&. WR SURFHVV
l &RPSLOH VRPH REMHFW ILOHV ZLWKRXW GHEXJJLQJ LQIRUPDWLRQ l $YRLG LQFOXGLQJ XQQHHGHG KHDGHU ILOHV
7KH FKHFNVXP FDQ EH FDOFXODWHG RQO\ ZKHQ UXQQLQJ RQ :LQGRZV 17 &93$&. :DUQLQJ &. FDQQRW XSGDWH FKHFNVXP 7KH FKHFNVXP FDQ EH FDOFXODWHG RQO\ ZKHQ UXQQLQJ RQ :LQGRZV 17


CVTRES Messages CVT1100 through CVT4001

Page 1 of 2

CVTRES Messages CVT1100 through CVT4001
7KH IROORZLQJ GHVFULSWLRQV FRYHU &97 WKURXJK ZDUQLQJ &97 &975(6 )DWDO (UURU &97 GXSOLFDWH UHVRXUFH W\SHW\SH QDPHQDPH ODQJXDJHODQJXDJH IODJVIODJV VL]HVL]H 7KH JLYHQ UHVRXUFH ZDV VSHFLILHG PRUH WKDQ RQFH &975(6 )DWDO (UURU &97 FDQQRW RSHQ ILOHQDPH IRU UHDGLQJ &975(6 FRXOG QRW RSHQ DQG UHDG WKH JLYHQ ILOH 2QH RI WKH IROORZLQJ PD\ EH D FDXVH

l l l l

7KH ILOH GRHV QRW H[LVW 7KH ILOH GRHV QRW KDYH 7KH ILOH ZDV RSHQHG RU 7KHUH ZDV QRW HQRXJK

&KHFN WKH VSHOOLQJ RI WKH ILOHQDPH DQG SDWK UHDG SHUPLVVLRQ GHOHWHG E\ DQRWKHU SURFHVV VSDFH RQ GLVN

&975(6 )DWDO (UURU &97 RXW RI PHPRU\ VL]H E\WHV UHTXLUHG 7KHUH ZDV QRW HQRXJK PHPRU\ IRU &975(6 WR FRPSOHWH WKH RSHUDWLRQ &975(6 )DWDO (UURU &97 FDQQRW UHDG ILOHQDPH $Q XQUHFRYHUDEOH HUURU RFFXUUHG ZKHQ &975(6 DWWHPSWHG WR UHDG WKH JLYHQ ILOH 3RVVLEO\ WKH ILOH LV FRUUXSW &975(6 )DWDO (UURU &97 FDQQRW JHW ORFDWLRQ LQ ILOH &975(6 FRXOG QRW GHWHUPLQH WKH FXUUHQW ORFDWLRQ LQ WKH ILOH 3RVVLEO\ WKH ILOH LV FRUUXSW &975(6 )DWDO (UURU &97 FDQQRW VHHN LQ ILOH &975(6 FRXOG QRW JR WR D ORFDWLRQ LQ WKH ILOH 3RVVLEO\ WKH ILOH LV FRUUXSW &975(6 )DWDO (UURU &97 FDQQRW ZULWH WR ILOH $Q XQUHFRYHUDEOH HUURU RFFXUUHG ZKHQ &975(6 DWWHPSWHG WR ZULWH WR WKH JLYHQ ILOH &975(6 )DWDO (UURU &97 ILOHQDPH LV FRUUXSW 7KH JLYHQ ILOH LV QRW D YDOLG UHVRXUFH ILOH &975(6 )DWDO (UURU &97 FDQQRW RSHQ ILOHQDPH IRU ZULWLQJ &975(6 FRXOG QRW RSHQ DQG ZULWH WR WKH JLYHQ ILOH 2QH RI WKH IROORZLQJ PD\ EH D FDXVH

l l l l

7KH ILOH GRHV QRW H[LVW 7KH ILOH GRHV QRW KDYH 7KH ILOH ZDV RSHQHG RU 7KHUH ZDV QRW HQRXJK

&KHFN WKH VSHOOLQJ RI WKH ILOHQDPH DQG SDWK ZULWH SHUPLVVLRQ GHOHWHG E\ DQRWKHU SURFHVV VSDFH RQ GLVN

&975(6 :DUQLQJ &97


CVTRES Messages CVT1100 through CVT4001

Page 2 of 2

PDFKLQH W\SH QRW VSHFLILHG DVVXPHG W\SH &975(6 GLG QRW ILQG D PDFKLQH VSHFLILFDWLRQ ,W DVVXPHG WKH JLYHQ PDFKLQH W\SH ,I WKH GHIDXOW LV LQFRUUHFW UHUXQ &975(6 XVLQJ WKH 0$&+,1( RSWLRQ


Math Errors M6101 through M6205 (x86 only)

Page 1 of 2

Math Errors M6101 through M6205 (x86 only)
7KH IROORZLQJ GHVFULSWLRQV FRYHU 0DWK (UURUV 0 WKURXJK 0 ZKLFK FDQ RFFXU RQ [ V\VWHPV $OO RI WKHVH PDWK HUURUV WHUPLQDWH WKH SURJUDP ZLWK DQ H[LW FRGH RI D VHYHUH HUURU 0DWK (UURU 0 LQYDOLG $Q LQYDOLG RSHUDWLRQ RFFXUUHG 7KLV HUURU XVXDOO\ RFFXUV ZKHQ WKH RSHUDQG LV 1D1 QRW D QXPEHU RU LQILQLW\ 0DWK (UURU 0 GHQRUPDO $ YHU\ VPDOO IORDWLQJSRLQW QXPEHU ZDV JHQHUDWHG ZKLFK PD\ QR ORQJHU EH YDOLG EHFDXVH RI D ORVV RI VLJQLILFDQFH 'HQRUPDO IORDWLQJSRLQW H[FHSWLRQV DUH XVXDOO\ PDVNHG FDXVLQJ WKHP WR EH WUDSSHG DQG RSHUDWHG XSRQ 0DWK (UURU 0 GLYLGH E\ $ IORDWLQJSRLQW RSHUDWLRQ DWWHPSWHG WR GLYLGH E\ ]HUR 0DWK (UURU 0 RYHUIORZ $Q RYHUIORZ RFFXUUHG LQ D IORDWLQJSRLQW RSHUDWLRQ 0DWK (UURU 0 XQGHUIORZ $Q XQGHUIORZ RFFXUUHG LQ D IORDWLQJSRLQW RSHUDWLRQ 8QGHUIORZ IORDWLQJSRLQW H[FHSWLRQV DUH XVXDOO\ PDVNHG FDXVLQJ WKH XQGHUIORZLQJ YDOXH WR EH UHSODFHG E\ 0DWK (UURU 0 LQH[DFW /RVV RI SUHFLVLRQ RFFXUUHG LQ D IORDWLQJSRLQW RSHUDWLRQ 7KLV H[FHSWLRQ LV XVXDOO\ PDVNHG 0DQ\ IORDWLQJSRLQW RSHUDWLRQV FDXVH D ORVV RI SUHFLVLRQ 0DWK (UURU 0 XQHPXODWHG $Q DWWHPSW ZDV PDGH WR H[HFXWH D FRSURFHVVRU LQVWUXFWLRQ WKDW LV LQYDOLG RU LV QRW VXSSRUWHG E\ WKH HPXODWRU 0DWK (UURU 0 VTXDUH URRW 7KH RSHUDQG LQ D VTXDUHURRW RSHUDWLRQ ZDV QHJDWLYH 1RWH 7KH VTUW IXQFWLRQ LQ WKH & UXQWLPH OLEUDU\ DQG WKH )2575$1 LQWULQVLF IXQFWLRQ 6457 GR QRW JHQHUDWH WKLV HUURU 7KH & VTUW IXQFWLRQ FKHFNV WKH DUJXPHQW EHIRUH SHUIRUPLQJ WKH RSHUDWLRQ DQG UHWXUQV DQ HUURU YDOXH LI WKH RSHUDQG LV QHJDWLYH 7KH )2575$1 6457 IXQFWLRQ JHQHUDWHV WKH 0DWK (UURU 0 0DWK (UURU 0 VWDFN RYHUIORZ $ IORDWLQJSRLQW H[SUHVVLRQ FDXVHG D VWDFN RYHUIORZ RQ WKH FRSURFHVVRU RU WKH HPXODWRU 6WDFNRYHUIORZ IORDWLQJSRLQW H[FHSWLRQV DUH WUDSSHG XS WR D OLPLW RI VHYHQ OHYHOV LQ DGGLWLRQ WR WKH HLJKW OHYHOV XVXDOO\ VXSSRUWHG E\ WKH FRSURFHVVRU


Math Errors M6101 through M6205 (x86 only)

Page 2 of 2

0DWK (UURU 0 VWDFN XQGHUIORZ $ IORDWLQJSRLQW RSHUDWLRQ UHVXOWHG LQ D VWDFN XQGHUIORZ RQ WKH FRSURFHVVRU RU WKH HPXODWRU 7KLV HUURU LV RIWHQ FDXVHG E\ D FDOO WR D ORQJ GRXEOH IXQFWLRQ WKDW GRHV QRW UHWXUQ D YDOXH 0DWK (UURU 0
IXQFWLRQ
B'20$,1 HUURU $Q DUJXPHQW WR WKH JLYHQ IXQFWLRQ ZDV RXWVLGH WKH GRPDLQ RI OHJDO LQSXW YDOXHV IRU WKDW IXQFWLRQ )RU H[DPSOH WKH IROORZLQJ VWDWHPHQWV JHQHUDWH WKLV HUURU result = sqrt(-1.0) & VWDWHPHQW result = SQRT(-1.0) )2575$1 VWDWHPHQW 0DWK (UURU 0
IXQFWLRQ
B6,1* HUURU $Q DUJXPHQW WR WKH JLYHQ IXQFWLRQ ZDV D VLQJXODULW\ YDOXH IRU WKLV IXQFWLRQ 7KH IXQFWLRQ LV QRW GHILQHG IRU WKDW DUJXPHQW )RU H[DPSOH LQ )2575$1 WKH IROORZLQJ VWDWHPHQW JHQHUDWHV WKLV HUURU result = LOG10(0.0) 0DWK (UURU 0
IXQFWLRQ
B29(5)/2: HUURU 7KH JLYHQ IXQFWLRQ UHVXOW ZDV WRR ODUJH WR EH UHSUHVHQWHG 0DWK (UURU 0
IXQFWLRQ
B7/266 HUURU $ WRWDO ORVV RI VLJQLILFDQFH SUHFLVLRQ RFFXUUHG 7KLV HUURU PD\ EH FDXVHG E\ JLYLQJ D YHU\ ODUJH QXPEHU DV WKH RSHUDQG RI VLQ FRV RU WDQ EHFDXVH WKH RSHUDQG PXVW EH UHGXFHG WR D QXPEHU EHWZHHQ DQG SL


NMAKE Messages

Page 1 of 12

NMAKE Messages
The following topics cover NMAKE Error U1000 through Warning U4011:
l NMAKE Errors U1000 to U1049 l NMAKE Errors U1050 to U1100 l NMAKE Error U2001 to Warning U4011

NMAKE Error U1000 through U1050
The following topics cover NMAKE Error U1000 through U1049: NMAKE Fatal Error U1000 syntax error : ')' missing in macro invocation 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 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

NMAKE Fatal Error U1002 syntax 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 the dollar sign with a caret (^). NMAKE Fatal Error U1003 syntax error : '=' missing in macro 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)

NMAKE Fatal Error U1004 syntax error : macro name missing One of the following occurred:
l 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)=TWO

l A macro invocation did not specify a name in the parentheses. The following specification

causes this error:
$()

The syntax for using a macro is:
$(name)


NMAKE Messages

Page 2 of 12

NMAKE Fatal Error U1005 syntax 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. NMAKE Fatal Error U1006 syntax error : missing closing double quotation mark An opening double quotation mark (") appeared without a closing double quotation mark. NMAKE Fatal Error U1007 double 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. NMAKE Fatal Error U1017 unknown directive '!directive' The specified directive is not one of the recognized directives. NMAKE Fatal Error U1018 directive and/or expression part missing The directive was incompletely specified. The expression part of the directive is required. NMAKE Fatal Error U1019 too 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. NMAKE Fatal Error U1020 end-of-file found before next directive An expected directive was missing. For example, an !IF was not followed by an !ENDIF. NMAKE Fatal Error U1021 syntax 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. NMAKE Fatal Error U1022 missing terminating character for string/program invocation : char' ' One of the following occurred:
l The closing double quotation mark (") in a string comparison in a directive was missing. l The closing bracket (]) in a program invocation in a directive was missing.

NMAKE Fatal Error U1023 syntax error in expression An expression was invalid. Check the allowed operators and operator precedence.


NMAKE Messages

Page 3 of 12

NMAKE Fatal Error U1024 illegal argument to !CMDSWITCHES An unrecognized command switch was specified. NMAKE Fatal Error U1025 syntax error : !ENDIF unexpected 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) 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 The given string is not part of the valid syntax for a makefile. The following are examples of causes and results of this error:
l 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 l 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 l 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 l 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 The colon (:) that separates targets and dependents is missing. NMAKE Fatal Error U1035 syntax error : expected ':' or '=' separator Either a colon (:) or an equal sign (=) was expected. Possible causes include the following:
l A target was not followed by a colon. l A single-letter target was followed by a colon and no space (such as a:). NMAKE interpreted it l l l l l

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.

NMAKE Fatal Error U1036


NMAKE Messages

Page 4 of 12

syntax error : too many names to left of '=' Only one string is allowed to the left of a macro definition. NMAKE Fatal Error U1037 syntax error : target name missing A colon (:) was found before a target name was found. At least one target is required. NMAKE Fatal Error U1038 internal error : lexer Note the circumstances of the error, try to isolate the problem, create a reproducible test case, and report to technical support. NMAKE Fatal Error U1039 internal error : parser Note the circumstances of the error, try to isolate the problem, create a reproducible test case, and report to technical support. NMAKE Fatal Error U1040 internal error : macro expansion Note the circumstances of the error, try to isolate the problem, create a reproducible test case, and report to technical support. NMAKE Fatal Error U1041 internal error : target building Note the circumstances of the error, try to isolate the problem, create a reproducible test case, and report to technical support. NMAKE Fatal Error U1042 internal error : expression stack overflow Note the circumstances of the error, try to isolate the problem, create a reproducible test case, and report to technical support. NMAKE Fatal Error U1043 internal error : temp file limit exceeded Note the circumstances of the error, try to isolate the problem, create a reproducible test case, and report to technical support. NMAKE Fatal Error U1045 spawn failed : message A program or command called by NMAKE failed for the given reason. NMAKE Fatal Error U1047 argument 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. NMAKE Fatal Error U1048 filename' cannot write to file ' NMAKE could not write to the given file. One cause of this error is a read-only file specified with /X.


NMAKE Messages

Page 5 of 12

NMAKE Fatal Error U1049 macro or inline file too long (maximum : 64K) An inline file or a macro exceeded the limit of 64K. Return to Main NMAKE Messages Page

NMAKE Error U1050 through U1100
The following topics cover NMAKE Error U1050 through U1100: NMAKE Fatal Error U1050 message The message specified with the !ERROR directive was displayed. NMAKE Fatal Error U1051 out of memory NMAKE ran out of memory, including virtual memory, because the makefile was too large or complex. One of the following may be a solution:
l Free some space on disk. l Increase the size of the Windows NT paging file or the Windows swap file. l 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 NMAKE could not find the given file, which was specified with one of the following:
l /F option l !INCLUDE preprocessing directive l 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 The file cannot be read. One of the following may be a cause:
l The file is in use by another process. l A bad area exists on disk. l A bad file-allocation table exists.

NMAKE Fatal Error U1054 cannot create inline file filename' ' NMAKE failed to create the given inline file. One of the following may be a cause:


NMAKE Messages

Page 6 of 12

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

NMAKE Fatal Error U1055 out of environment space 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 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' NMAKE failed to delete the temporary inline file. NMAKE Fatal Error U1058 terminated by user NMAKE was halted by Ctrl+C or Ctrl+BREAK. NMAKE Fatal Error U1059 syntax error : '}' missing in dependent 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 filename' unable to close file : ' NMAKE encountered an error while closing a file. One of the following may be a cause:
l The file is a read-only file. l There is a locking or sharing violation. l The disk is full.

NMAKE Fatal Error 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. NMAKE Fatal Error U1062 missing 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 a dash (-) as the output filename.


NMAKE Messages

Page 7 of 12

NMAKE Fatal Error U1063 missing 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. NMAKE Fatal Error U1064 MAKEFILE 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 (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' The specified option is not a valid option for NMAKE. NMAKE Fatal no match found There is no file and ?). A target Error U1069 for wildcard ' filename' that matches the given filename, which was specified using one or more wildcards (* file that is specified using a wildcard must exist on disk.

NMAKE Fatal Error U1070 cycle 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)

causes the following error:
cycle in macro definition 'TWO'

NMAKE Fatal Error U1071 cycle 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. NMAKE Fatal Error U1072 cycle 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. NMAKE Fatal Error U1073 don'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:


NMAKE Messages

Page 8 of 12

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

NMAKE Fatal Error U1076 name too long A string exceeded one of the following limits:
l A macro name cannot exceed 1024 characters. l A target name (including its path) cannot exceed 256 characters. l A command cannot exceed 2048 characters.

NMAKE Fatal Error U1077 'program' : 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. NMAKE Fatal Error U1078 constant 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:
l An expression specified with a preprocessing directive l An error level specified with the dash (-) command modifier

NMAKE Fatal Error U1079 illegal expression : divide by zero An expression tried to divide by zero. NMAKE Fatal Error U1080 operator and/or operand usage illegal The expression incorrectly used an operator or operand. Check the allowed set of operators and their order of precedence. NMAKE Fatal Error U1081 'filename' : 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. NMAKE Fatal Error U1082 'command' : cannot execute command; out of memory 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


NMAKE Messages

Page 9 of 12

target 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. NMAKE Fatal Error U1084 cannot 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:
l The file already exists with a read-only attribute. l There is insufficient disk space to create the file. l The directory specified in the TMP environment variable does not exist.

NMAKE Fatal Error U1085 cannot 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. NMAKE Fatal Error U1086 inference rule cannot have dependents The colon (:) in an inference rule must be followed by one of the following:
l Newline character l Semicolon (;), which can be followed by a command l Number sign (#), which can be followed by a comment

NMAKE Fatal Error U1087 cannot 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. NMAKE Fatal Error U1088 invalid separator '::' on inference rule An inference rule must be followed by a single colon (:). NMAKE Fatal Error U1089 cannot have build commands for directive targetname' ' 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' 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 An inference rule cannot specify more than two extensions.


NMAKE Messages

Page 10 of 12

NMAKE Fatal Error U1093 cannot mix dot directives 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 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 ' After macro expansion, the given command line exceeded the limit on length of command lines for the operating system. 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' ' NMAKE could not create the given inline file. One of the following occurred:
l The disk was full. l A file with that name exists as a read-only file.

NMAKE Fatal Error U1097 filename-parts syntax requires dependent The current dependency does not have either an explicit dependent or an implicit dependent. Filenameparts syntax, which uses the percent (%) specifier, represents components of the first dependent of the current target. NMAKE Fatal Error U1098 illegal filename-parts syntax instring' ' The given string does not contain valid filename-parts syntax. NMAKE Fatal Error U1099 stack 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 EDITBIN utility with a larger stack option: EDITBIN /STACK:stacksize NMAKE.EXE where stacksize 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' ' NMAKE generates this error when the command block of a batch-mode rule directly or indirectly references a special file macro that is not $<. $< is the only allowed macro for batch-mode rules.


NMAKE Messages

Page 11 of 12

Return to Main NMAKE Messages Page

NMAKE Error U2001 through Warning U4011
The following topics cover NMAKE Error U2001 through Warning U4011: NMAKE Error U2001 no more file handles (too many files open) NMAKE could not find a free file handle. One of the following may be a solution:
l Reduce recursion in the build procedures. l In Windows 95 or Windows 98, 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 A command file, which is invoked by the at-sign (@) specifier, cannot contain a specification for another command file. Such nesting is not allowed. The specification was ignored. NMAKE Warning U4002 resetting value of special macro macroname' ' The given predefined macro was redefined. NMAKE Warning U4004 too many rules for target 'targetname' More than one description block was specified for the given target using single colons (:) as separators. NMAKE executed the commands in the first description block and ignored later blocks. To specify the same target in multiple dependencies, use double colons (::) as the separator in each dependency line. NMAKE Warning U4005 ignoring rule ' e' (extension not in .SUFFIXES) rul The given rule contained a suffix that is not specified in the .SUFFIXES list. NMAKE ignored the rule. This warning appears only when the /P option is used. NMAKE Warning U4006 special macro undefined : macroname' ' The given special macro name is undefined and expands to nothing. NMAKE Warning U4007 filename 'filename' too long; truncating to 8.3 The base name of the given file has more than eight characters, or the extension has more than three characters. NMAKE truncated the name to an eight-character base and a three-character extension. If long filenames are supported by your file system, enclose the name in double quotation marks ("). NMAKE Warning U4008 removed target 'target' NMAKE was interrupted while trying to build the given target, and the target file was incomplete.


NMAKE Messages

Page 12 of 12

Because the target was not specified in the .PRECIOUS list, NMAKE deleted the file. NMAKE Warning U4010 'target' : build failed; /K specified, continuing ... A command in the commands block for the giventarget 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 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. Return to Main NMAKE Messages Page


Profiler Errors PRF1005 through PRF4642

Page 1 of 7

Profiler Errors PRF1005 through PRF4642
7KH IROORZLQJ GHVFULSWLRQV FRYHU 3URILOHU (UURUV 35) WKURXJK 35) 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ RSHUDWLQJ V\VWHP UDQ RXW RI PHPRU\ 7KHUH LV QRW HQRXJK PHPRU\ WR UXQ WKLV SURILOHU PRGXOH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ FDQQRW RSHQ ILOH ILOHQDPH 7KH SURILOHU PRGXOH FRXOG QRW ILQG WKH VSHFLILHG ILOH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ FDQQRW UHDG H[SHFWHG QXPEHU RI E\WHV IURP ILOH ILOHQDPH 7KH SURILOHU PRGXOH FRXOG QRW UHDG WKH H[SHFWHG QXPEHU RI E\WHV 7KLV HUURU LV RIWHQ FDXVHG E\ WU\LQJ WR SURILOH DQ (;( RU '// ILOH WKDW ZDV QRW OLQNHG ZLWK SURILOLQJ HQDEOHG 352),/( OLQNHU FRPPDQGOLQH RSWLRQ 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ FDQQRW ZULWH H[SHFWHG QXPEHU RI E\WHV WR ILOH ILOHQDPH 7KH SURILOHU PRGXOH FRXOG QRW ZULWH WKH H[SHFWHG QXPEHU RI E\WHV 3HUKDSV WKH GLVN LV IXOO RU WKH ILOH LV UHDGRQO\ 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ PLVVLQJ RSWLRQ VSHFLILHU $ RU FKDUDFWHU ZDV QRW IROORZHG E\ D FRPPDQGOLQH RSWLRQ VSHFLILHU VHTXHQFH &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ RSWLRQ LQYDOLG RSWLRQ $Q LQYDOLG RSWLRQ ZDV IRXQG RQ WKH FRPPDQG OLQH &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ RSWLRQ RSWLRQ UHTXLUHV DQ DGGLWLRQDO SDUDPHWHU 7KLV RSWLRQ ZDV QRW IROORZHG E\ WKH FRUUHFW QXPEHU RI SDUDPHWHUV &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ RSWLRQ RSWLRQ UHTXLUHV D QXPHULF SDUDPHWHU $ QXPHULF SDUDPHWHU ZDV H[SHFWHG IRU WKLV RSWLRQ EXW ZDV QRW IRXQG &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ RSWLRQ RSWLRQ VSHFLILHG PRUH WKDQ QXPEHU WLPHV $Q RSWLRQ ZDV VSHFLILHG WRR PDQ\ WLPHV &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ PLVVLQJ ILOHQDPH DIWHU # 7KH # FKDUDFWHU LV VXSSRVHG WR EH IROORZHG E\ D UHVSRQVH ILOHQDPH &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ UHVSRQVH ILOHV QHVWHG WRR GHHSO\ 5HVSRQVH ILOHV FDQ EH QHVWHG HLJKW GHHS 3HUKDSV D UHVSRQVH ILOH FDOOV LWVHOI UHFXUVLYHO\ 3URILOHU (UURU 35)


Profiler Errors PRF1005 through PRF4642

Page 2 of 7

IDWDO HUURU FRPPRQ ILOH ILOHQDPH KDV DQ LQFRUUHFW ROG VLJQDWXUH $ 3%, 3%2 3%7 B;( RU B// ILOH GRHV QRW FRQWDLQ WKH FRUUHFW KHDGHU E\WHV 3HUKDSV WKH ILOH LV FRUUXSWHG RU ZDV FUHDWHG E\ DQ ROG YHUVLRQ RI WKH SURILOHU 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ 3%, ILOH ILOHQDPH KDV DQ LQFRUUHFW ROG YHUVLRQ QXPEHU $ 3%, ILOH GRHV QRW FRQWDLQ WKH FRUUHFW YHUVLRQ QXPEHU 3HUKDSV WKH ILOH LV FRUUXSWHG RU ZDV FUHDWHG E\ DQ ROG YHUVLRQ RI WKH SURILOHU 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ 3%7 ILOH ILOHQDPH KDV DQ LQFRUUHFW ROG YHUVLRQ QXPEHU $ 3%7 ILOH GRHV QRW FRQWDLQ WKH FRUUHFW YHUVLRQ QXPEHU 3HUKDSV WKH ILOH LV FRUUXSWHG RU ZDV FUHDWHG E\ DQ ROG YHUVLRQ RI WKH SURILOHU 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ 3%7 RU 3%2 ILOH ILOHQDPH FRQIOLFWV ZLWK FXUUHQW SURILOLQJ VWDWH 7KHUH ZDV DQ DWWHPSW WR PHUJH D 3%7 RU D 3%2 ILOH LQWR DQRWKHU 3%7 ILOH ZLWK D GLIIHUHQW SURILOLQJ PRGH VHOHFWHG 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ 3%7 RU 3%2 ILOH ILOHQDPH LV QRW GHULYHG IURP VDPH 3%, ILOH 7KH 3%7 3%2 DQG 3%, ILOHV DUH QRW SURSHUO\ V\QFKURQL]HG 5XQ 35(3 3KDVH , DJDLQ 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ &38 W\SH RI PRGXOH PRGXOH LV GLIIHUHQW IURP LQLWLDO RQH &38 W\SHV IRU GLIIHUHQW PRGXOHV GRQ
W PDWFK $OO PRGXOHV PXVW EH FRPSLOHG IRU WKH VDPH &38 W\SH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ ILOHQDPH QRW D SRUWDEOH H[HFXWDEOH ILOH )XQFWLRQ SURILOLQJ RQO\ 7KH VSHFLILHG H[HFXWDEOH ILOH LV QRW D VWDQGDUG H[HFXWDEOH ILOH IRU :LQGRZV 17 3HUKDSV LW LV D ELW H[HFXWDEOH IRU :LQGRZV [ 3URILOHU (UURU 35) IDWDO HUURU 35(3 , QR LQSXW VSHFLILHG 7KHUH ZHUH QR LQSXW PRGXOHV VSHFLILHG IRU 35(3 3KDVH , &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU 35(3 , V\QWD[ HUURU LQ (;& RU ,1& VSHFLILFDWLRQ VSHFLILFDWLRQ 7KH (;& DQG ,1& RSWLRQV UHTXLUH IXQFWLRQ QDPHV RU ILOHQDPHV 7KLV VSHFLILFDWLRQ FRXOG QRW EH GHFRGHG &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU 35(3 , QXPEHU RI PRGXOHV H[FHHGV QXPEHU 7KH PD[LPXP QXPEHU RI PRGXOHV KDV EHHQ H[FHHGHG 5HVWUXFWXUH WKH PHUJH SURFHGXUH WR LQFOXGH PRUH VWDJHV 3URILOHU (UURU 35) IDWDO HUURU 35(3 , 'HEXJJLQJ LQIRUPDWLRQ LQ ILOHQDPH LV QRW WKH ULJKW IRUPDW IRU SURILOLQJ UHOLQN ZLWK 352),/( &RXOG QRW XVH GHEXJJLQH LQIRUPDWLRQ VWRUHG LQ WKH 3URJUDP 'DWDEDVH 'HEXJ LQIRUPDWLRQ WR EH XVHG PXVW EH VWRUHG LQ WKH H[HFXWDEOH LQ ROGVW\OH IRUPDW 5HOLQN ZLWK WKH 352),/( RSWLRQ WR GR WKLV


Profiler Errors PRF1005 through PRF4642

Page 3 of 7

3URILOHU (UURU 35) IDWDO HUURU 35(3 , ILOHQDPH LQYDOLG UXQWLPH UHORFDWLRQ WU\ UHOLQN 7KH SURILOHU IRXQG EDG UHORFDWLRQ LQIRUPDWLRQ LQ WKH SURJUDP WR EH SURILOHG 7KLV LV XVXDOO\ FDXVHG E\ XVLQJ DQ REVROHWH YHUVLRQ RI WKH OLQNHU 5HOLQN \RXU FRGH ZLWK WKH QHZ SURILOHU DQG UXQ 35(3 DJDLQ 3URILOHU (UURU 35) $ IL[HG LPDJH H[HFXWDEOH FDQQRW EH SURILOHG UHOLQN ILOH ZLWKRXW WKH IL[HG VZLWFK 3URILOHU (UURU 35) ([HFXWDEOH LPDJH WRR ODUJH WR SURILOH WU\ EUHDNLQJ LW GRZQ LQWR VPDOOHU '//V 7KH H[HFXWDEOH FDQQRW EH SURILOH DW LWV SUHVHQW VL]H 3URILOHU (UURU 35) IDWDO HUURU 352),/( ILOHQDPH QRW D YDOLG :LQV H[HFXWDEOH ILOH :LQV RQO\ 7KH :LQV H[WHQVLRQ FRXOG QRW ORDG WKLV ILOH 3HUKDSV WKH ILOH LV FRUUXSWHG KDV QRW EHHQ SUHSDUHG IRU SURILOLQJ RU LV QRW D JUDSKLFDO XVHU LQWHUIDFH DSSOLFDWLRQ ,I WKH ILOH ZHUH D ELW H[HFXWDEOH HUURU PHVVDJH ZRXOG EH LVVXHG 3URILOHU (UURU 35) IDWDO HUURU 352),/( WLPHVWDPS RI H[HFXWDEOH KDV FKDQJHG VLQFH 35(3 ZDV UXQ 7KH 3%, ILOH ZDV FUHDWHG IURP DQ ROGHU (;( ILOH 7KLV PHDQV WKDW WKH SURFHVVHG H[HFXWDEOH ILOH KDV FKDQJHG VLQFH LW ZDV RULJLQDOO\ FUHDWHG E\ 35(3 3KDVH , 5XQ 35(3 3KDVH , DJDLQ 3URILOHU (UURU 35) IDWDO HUURU 352),/( FDQQRW UXQ SURJUDP ILOHQDPH 7KH SURILOHU FRXOG QRW ORDG WKH (;( ILOH &KHFN WKDW WKH RULJLQDO (;( ILOH GRHV UXQ XQGHU :LQGRZV 17 3URILOHU (UURU 35) WKLV YHUVLRQ RI :LQGRZV GRHV QRW VXSSRUW WKLV PDQQHU RI SURILOLQJ 7KH IXQFWLRQ WLPLQJ IW RSWLRQ LV QRW VXSSRUWHG IRU WKLV YHUVLRQ RI :LQGRZV 3URILOHU (UURU 35) /LQH FRXQW DQG OLQH FRYHUDJH DUH QRW VXSSRUWHG RQ :LQ6 7KH :LQ6 YHUVLRQ RI WKH SURILOHU GRHV QRW VXSSRUW OLQH FRXQW RU OLQH FRYHUDJH SURILOLQJ 3URILOHU (UURU 35) IDWDO HUURU 35(3 ,, QR 3%7 RXWSXW ILOH VSHFLILHG 1HLWKHU WKH 27 QRU 0 RSWLRQ ZDV VSHFLILHG &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU 35(3 ,, QR 3%7 LQSXW ILOH VSHFLILHG 1HLWKHU WKH ,7 QRU 0 RSWLRQ ZDV VSHFLILHG &KHFN WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU 35(3 ,, PRGXOH GLIIHUHQW FORFNVDPSOLQJ IUHTXHQF\ 7KH VDPSOLQJ IUHTXHQF\ IRU WKLV PRGXOH LV GLIIHUHQW IURP WKDW RI RWKHU PRGXOHV WKDW ZHUH SURILOHG 5HUXQ 352),/( DJDLQ IRU DOO PRGXOHV XVLQJ WKH VDPH VDPSOLQJ IUHTXHQF\ 3URILOHU (UURU 35) IDWDO HUURU 35(3 ,, &38 W\SH LQ 3%7 RU 3%2 ILOH ILOHQDPH FRQIOLFWV ZLWK FXUUHQW RQH 2FFXUV RQO\ GXULQJ 35(3 PHUJLQJ 7KH &38 W\SH GRHV QRW PDWFK WKH &38 W\SH XVHG WR JHQHUDWH


Profiler Errors PRF1005 through PRF4642

Page 4 of 7

WKH LQFRPLQJ 3%7 RU 3%2 ILOHV $OO SURILOHU VWHSV PXVW EH UXQ RQ WKH VDPH W\SH RI FRPSXWHU 3URILOHU (UURU 35) IDWDO HUURU 3/,67 RSWLRQ LQFRQVLVWHQW ZLWK VRUWLQJ W\SH 7KH RSWLRQV IRU 3/,67 GHSHQG RQ WKH NLQG RI SURILOLQJ EHLQJ GRQH 7KLV HUURU RFFXUV IRU H[DPSOH ZKHQ WKH 6RUW %\ 1DPH RSWLRQ LV VSHFLILHG IRU D OLQH SURILOLQJ UXQ 3URILOHU (UURU 35) IDWDO HUURU 35(3 RU 352),/( DEQRUPDO WHUPLQDWLRQ LQ 35(3 RU 352),/( GHWHFWHG 3/,67 FDQQRW FRQWLQXH 7KH ILOHV RXWSXW E\ 35(3 RU 352),/( ZHUH QRW YDOLG EHFDXVH RQH RI WKHVH XWLOLWLHV GLG QRW FRPSOHWH LWV WDVN 7KLV HUURU LV XVXDOO\ FDXVHG E\ DQ HUURU GXULQJ WKH H[HFXWLRQ RI 35(3 RU 352),/( VXFK DV D PLVVLQJ 0$3 ILOH 3URILOHU (UURU 35) IDWDO HUURU FRPPRQ LOOHJDO IL[XS DGGUHVV LQ PDSILOH ILOHQDPH 7KH PDSILOH OLVWV DOO OLQNWLPH IL[XSV LQFOXGLQJ DOO WKH IXQFWLRQ FDOO VLWHV 7KLV HUURU LQGLFDWHV WKDW RQH RI WKH IL[XSV ZDV LOOHJDO SHUKDSV EHFDXVH WKH PDSILOH ZDV QRW JHQHUDWHG E\ WKH VDPH OLQN DV WKH FRUUHVSRQGLQJ (;( RU '// 7KLV HUURU LV RIWHQ SUHFHGHG E\ WKH ZDUQLQJ 35) DERXW WKH (;( DQG PDSILOH WLPHVWDPSV EHLQJ RXW RI V\QF 3URILOHU (UURU 35) IDWDO HUURU 35(3 , QR IXQFWLRQV ZHUH PDUNHG IRU SURILOLQJ LQ PRGXOH PRGXOH )XQFWLRQ SURILOLQJ RQO\ DW OHDVW RQH IXQFWLRQ PXVW EH LQFOXGHG IRU SURILOLQJ LQ HDFK PRGXOH &KHFN WKH ,1& (;& DQG (;&$// RSWLRQV RQ WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU 35(3 , PRUH WKDQ RQH IXQFWLRQ PDWFKHG HQWU\ VSHFLILFDWLRQ IXQFQDPH DQG IXQFQDPH )XQFWLRQ SURILOLQJ RQO\ WKHUH ZHUH WZR RU PRUH IXQFWLRQV ZLWK PDWFKLQJ QDPHV 3HUKDSV WKHVH DUH & RYHUORDGHG IXQFWLRQV 8VH GHFRUDWHG QDPHV WR VSHFLI\ WKH IXQFWLRQV 3URILOHU (UURU 35) IDWDO HUURU 35(3 , ILOHQDPH LV QRW SURILOHG DQG FDQ QRW LPSRUW PRGLILHG YHUVLRQ YHUVLRQ )RU IXQFWLRQOHYHO SURILOHV 35(3 XVHV PRGLILHG (;(V DQG '//V ZLWK PRGLILHG QDPHV ZLWK H[WHQVLRQV B;( DQG B// ,I DQ\ PRGXOHV OLVWHG LQ WKH LPSRUW WDEOH RI D SURILOHG PRGXOH UHIHU WR DQRWKHU SURILOHG PRGXOH EXW WKH LPSRUWHG PRGXOH LV LWVHOI QRW EHLQJ SURILOHG WKHQ WKH LPSRUW WDEOH RI WKDW LPSRUWHG PRGXOH FDQQRW EH FKDQJHG DQG WKLV HUURU RFFXUV 7KH VROXWLRQ LV WR LQFOXGH WKH RIIHQGLQJ PRGXOH LQ WKH SURILOH 3URILOHU (UURU 35) IDWDO HUURU 35(3 , 'HEXJJLQJ LQIR LQ ILOHQDPH LV QRW WKH ULJKW IRUPDW IRU SURILOLQJ UHOLQN ZLWK 352),/(

Profiler Errors PRF1005 through PRF4642
IDWDO HUURU 352),/( 1W6HW,QWHUYDO3URILOH 17 LQWHUQDO HUURU QXPEHU RFFXUUHG $ :LQGRZV 17 HUURU ZDV GHWHFWHG

Page 5 of 7

3URILOHU (UURU 35) IDWDO HUURU 352),/( IXQFWLRQ VDPSOLQJ LV QR ORQJHU VXSSRUWHG )XQFWLRQ VDPSOLQJ LV QRW VXSSRUWHG LQ WKLV YHUVLRQ 8VH IXQFWLRQ WLPLQJ WR JHW PRUH DFFXUDWH UHVXOWV 3URILOHU (UURU 35) IDWDO HUURU 35(3 , QR GHEXJJLQJ LQIRUPDWLRQ LQ ILOH ILOHQDPH /LQH SURILOLQJ RQO\ GHEXJJLQJ LQIRUPDWLRQ PXVW EH LQFOXGHG LQ WKH H[HFXWDEOH ILOH 5XQ WKH FRPSLOHU DQG OLQNHU DJDLQ ZLWK WKH GHEXJJLQJ RSWLRQV VHW 3URILOHU (UURU 35) IDWDO HUURU 35(3 , QR VRXUFH OLQHV PDUNHG IRU SURILOLQJ LQ PRGXOH PRGXOH /LQH SURILOLQJ RQO\ DW OHDVW RQH OLQH PXVW EH LQFOXGHG IRU SURILOLQJ LQ HDFK PRGXOH &KHFN WKH ,1& (;& DQG (;&$// RSWLRQV RQ WKH FRPPDQG OLQH 3URILOHU (UURU 35) IDWDO HUURU 352),/( XVHUGHILQHG EUHDNSRLQW IRXQG DW DGGUHVV /LQH SURILOLQJ RQO\ 1R EUHDNSRLQWV PD\ EH VHW LQ WKH H[HFXWDEOH PRGXOHV EHLQJ SURILOHG 7KHVH DUH QRW EUHDNSRLQWV VHW E\ WKH GHEXJJHU EXW UDWKHU HPEHGGHG ,17 LQVWUXFWLRQV 7KLV HUURU LV RQO\ IDWDO LI WKH ,17 LQVWUXFWLRQ LV HQFRXQWHUHG GXULQJ WKH H[HFXWLRQ RI \RXU SURJUDP 3URILOHU (UURU 35) IDWDO HUURU 352),/( XQH[SHFWHG VLQJOHVWHS H[FHSWLRQ RFFXUUHG DW DGGUHVV /LQH SURILOLQJ RQO\ 7KHUH ZDV D SUREOHP ZLWK WKH H[HFXWDEOH ILOH 7U\ UHOLQNLQJ DQG UHUXQQLQJ 35(3 3KDVH , 3URILOHU (UURU 35) IDWDO HUURU 352),/( DQ DFFHVV YLRODWLRQ RFFXUUHG DW DGGUHVV /LQH SURILOLQJ RQO\ 7KHUH ZDV D SUREOHP ZLWK WKH H[HFXWDEOH ILOH 7U\ UHOLQNLQJ DQG UHUXQQLQJ 35(3 3KDVH , &KHFN WKH (;( ILOH ZLWK WKH GHEXJJHU 3URILOHU (UURU 35) HUURU 352),/( FDQQRW VWDUW VDPSOHU 3HUKDSV WKH H[HFXWDEOH SURJUDP LV WRR ODUJH 3URILOHU (UURU 35) HUURU 352),/( FDQQRW VWRS VDPSOHU 3HUKDSV WKH H[HFXWDEOH SURJUDP LV WRR ODUJH 3URILOHU (UURU 35) ZDUQLQJ FRPPRQ RSWLRQ RSWLRQ RYHUULGHV DQ HDUOLHU RSWLRQ 7ZR RU PRUH PXWXDOO\ H[FOXVLYH VZLWFKHV ZHUH VSHFLILHG RU WKH VDPH VZLWFK ZDV VSHFLILHG PRUH WKDQ RQFH 7KH ODVW VZLWFK WDNHV SUHFHGHQFH 3URILOHU (UURU 35) ZDUQLQJ FRPPRQ IXQFWLRQVRXUFHREMHFWOLE QDPH ZDV QHYHU PDWFKHG 7KH SURJUDP HOHPHQW ZDV QRW IRXQG 0DNH VXUH WKH QDPH ZDV VSHOOHG RU GHFRUDWHG FRUUHFWO\ 3URILOHU (UURU 35) ZDUQLQJ FRPPRQ 6) RSWLRQ QRW YDOLG IRU OLQHOHYHO RU VDPSOH SURILOHV 7KH VWDUW IXQFWLRQ RSWLRQ VKRXOG EH XVHG RQO\ ZLWK IXQFWLRQ WLPLQJ IXQFWLRQ FRXQWLQJ RU IXQFWLRQ


Profiler Errors PRF1005 through PRF4642
FRYHUDJH SURILOLQJ

Page 6 of 7

3URILOHU (UURU 35) ZDUQLQJ FRPPRQ QR HUURU ILOH ( VSHFLILHG IRU $ RSWLRQ 7KH $ RSWLRQ FDQQRW EH XVHG ZLWKRXW WKH ( RSWLRQ 7KH $ RSWLRQ LV LJQRUHG DQG WKH HUURU RXWSXW VHQW WR VWGRXW 3URILOHU (UURU 35) ZDUQLQJ 35(3 , DQ RIIVHW GXSOLFDWLRQ ZDV GHWHFWHG 7KHUH DSSHDUV WR EH D SUREOHP ZLWK WKH FRGHYLHZ OLQH QXPEHU GHEXJ LQIRUPDWLRQ 3HUKDSV WKHUH LV DQ DOLDVLQJ SUREOHP 3URILOHU (UURU 35) ZDUQLQJ 35(3 , ILOHQDPH LPSRUWV XQNQRZQ PRGXOH PRGXOH 35(3 VHDUFKHV IRU LPSRUWHG PRGXOHV PRVWO\ '//V LQ WKH IROORZLQJ VHTXHQFH

l l l l

'LUHFWRU\ 35(3 LWVHOI OLYHV LQ &XUUHQW GLUHFWRU\ :LQGRZV GLUHFWRULHV 'LUHFWRULHV RQ WKH SDWK

%HFDXVH PRGXOHV OHDGV WR PRGXOH

WKH FXUUHQW GLUHFWRU\ GHSHQGV RQ WKH SURILOHU UDWKHU WKDQ RQ WKH SURILOHG SURJUDP DOO PLJKW QRW EH IRXQG ,Q PRVW FDVHV WKLV ZDUQLQJ LV QRW VHULRXV +RZHYHU LI SURILOLQJ D *3 IDXOW RU WR LQFRUUHFW EHKDYLRU LW PLJKW EH QHFHVVDU\ WR LQFOXGH WKH XQNQRZQ LQ WKH SURILOH

3URILOHU (UURU 35) ZDUQLQJ 35(3 , ILOHQDPH LJQRULQJ XQNQRZQ UXQWLPH UHORFDWLRQ W\SH YHULI\ OLQNHU YHUVLRQ 0,36 6SHFLILF 7KH SURILOHU IRXQG EDG UHORFDWLRQ LQIRUPDWLRQ LQ WKH SURJUDP WR EH SURILOHG 7KLV LV XVXDOO\ FDXVHG E\ XVLQJ DQ REVROHWH YHUVLRQ RI WKH OLQNHU 5HOLQN \RXU FRGH ZLWK WKH QHZ SURILOHU DQG UXQ 35(3 DJDLQ 3URILOHU (UURU 35) ZDUQLQJ 3/,67 FORFN IUHTXHQF\ LV ]HUR 7KH FORFN IUHTXHQF\ ILHOG LQ WKH 3%7 ILOH KDV QRW EHHQ ILOOHG LQ \HW SHUKDSV EHFDXVH WKH XVHU KDV QRW GRQH D SURILOH \HW RU KDV QRW PHUJHG KLV 3%2 ILOH LQWR KLV 3%7 ILOH 5XQQLQJ 35(3 0 VKRXOG IL[ WKH SUREOHP 3URILOHU (UURU 35) ZDUQLQJ 35(3 , ,1,7 HQYLURQPHQW YDULDEOH QRW GHILQHG 7KH ,1,7 HQYLURQPHQW YDULDEOH VKRXOG SRLQW WR WKH GLUHFWRU\ WKDW FRQWDLQV 722/6,1, 6HW WKH ,1,7 HQYLURQPHQW YDULDEOH WR WKH GLUHFWRU\ FRQWDLQLQJ \RXU 722/6,1, DQG UHUXQ 35(3 3URILOHU (UURU 35) ZDUQLQJ 35(3 ,
SXEOLFV
VHFWLRQ QRW IRXQG LQ PDSILOH ILOHQDPH 7KH PDSILOH LV FRUUXSW 3URILOHU (UURU 35) ZDUQLQJ 35(3 ,
VWDWLF V\PEROV
VHFWLRQ QRW IRXQG LQ PDSILOH ILOHQDPH 7KH PDSILOH LV FRUUXSW 3URILOHU (UURU 35) ZDUQLQJ 35(3 , HQWU\ IXQFWLRQ IXQFWLRQ QRW IRXQG


Profiler Errors PRF1005 through PRF4642

Page 7 of 7

35(3 FRXOG QRW ILQG WKH VSHFLILHG VWDUW IXQFWLRQ HQWU\ IXQFWLRQ LQ WKH PDSILOH VHH 6) VZLWFK 3HUKDSV WKH IXQFWLRQ QDPH LV PLVVSHOOHG 3URILOHU (UURU 35) ZDUQLQJ 35(3 , FDQQRW SURILOH IXQFWLRQ IXQFWLRQ LQ ILOH ILOHQDPH $ VSHFLDO IXQFWLRQ VXFK DV VHWMPS ZDV VSHFLILHG 3URILOHU (UURU 35) ZDUQLQJ 35(3 , PRGXOH PRGXOH DOUHDG\ LQFOXGHV SURILOHU '// ILOHQDPH 7KH VSHFLILHG (;( RU '// DOUHDG\ LPSRUWV IURP 352),/(5'// 7KH (;( RU '// PD\ KDYH EHHQ PRGLILHG E\ 35(3 XVLQJ WKH 20 VZLWFK DQG WKHQ UHQDPHG IURP DSSB;( WR DSS(;( EHIRUH 35(3 ZDV UXQ DJDLQ 0DNH VXUH WKDW WKH PRGXOH (;( RU '// VSHFLILHG LV WKH RULJLQDO PRGXOH DQG D PRGXOH PRGLILHG E\ 35(3 3URILOHU (UURU 35) ZDUQLQJ 35(3 , SUHIHUUHG ORDG DGGUHVV QRW IRXQG LQ PDSILOH ILOHQDPH DVVXPHG DGGUHVV &XUUHQW YHUVLRQV RI WKH OLQNHU OLVW WKH SUHIHUUHG ORDG DGGUHVV WKDW LV ZKHQ WKH (;( JHWV ORDGHG DW WKLV DGGUHVV QRQH RI WKH UXQWLPH UHORFDWLRQ DGGUHVVHV QHHG WR EH IL[HG XS 35(3 QHHGV WKLV LQIRUPDWLRQ 6RPHKRZ WKLV LQIRUPDWLRQ ZDV PLVVLQJ IURP WKH PDSILOH ,I WKH ODWHVW OLQNHU ZDV XVHG WKH PDSILOH ZDV SUREDEO\ HGLWHG 5HJHQHUDWH WKH PDSILOH UHWDLQLQJ WKH OLQH WKDW VWDWHV WKH SUHIHUUHG ORDG DGGUHVV 3URILOHU (UURU 35) ZDUQLQJ 35(3 , WLPHVWDPSV RI PDSILOH ILOHQDPH DQG H[HFXWDEOH ILOH GR QRW PDWFK 7KH PDSILOH LV QRW SURSHUO\ V\QFKURQL]HG ZLWK WKH H[HFXWDEOH ILOH 5HOLQN DQG UXQ 35(3 DJDLQ 3URILOHU (UURU 35) ZDUQLQJ 352),/( PRGXOH QRW IRXQG LQ 3%, ILOH ILOHQDPH $Q DWWHPSW ZDV PDGH WR SURILOH D SURJUDP EXW WKH (;( ZDV QRW PRGLILHG E\ 35(3 7KLV ZDUQLQJ RFFXUV ZKLOH VHOHFWLYHO\ SURILOLQJ D '// WKDW LV FDOOHG E\ WKH (;( 3URILOHU (UURU 35) ZDUQLQJ 35(3 , OLQH QXPEHU GXSOLFDWHG LQ ILOH ILOHQDPH 7KHUH LV D SUREOHP ZLWK WKH OLQH QXPEHU GHEXJ LQIRUPDWLRQ 7KH VDPH OLQH QXPEHU ZDV LGHQWLILHG ZLWK WZR GLIIHUHQW DGGUHVVHV 7KLV LV JHQHUDOO\ QRW VHULRXV 3URILOHU (UURU 35) ZDUQLQJ 352),/( 5HDG3URFHVV0HPRU\ LQWHUQDO 17 HUURU QXPEHU RFFXUUHG $Q LQWHUQDO HUURU RFFXUUHG 7KH SURILOHU UHVXOWV PD\ EH PHDQLQJOHVV 3URILOHU (UURU 35) ZDUQLQJ 352),/( :ULWH3URFHVV0HPRU\ LQWHUQDO 17 HUURU QXPEHU RFFXUUHG $Q LQWHUQDO HUURU RFFXUUHG 7KH SURILOHU UHVXOWV PD\ EH PHDQLQJOHVV


Resource Compiler Messages

Page 1 of 24

Resource Compiler Messages-RCn
The following topics cover Resource Compiler Errors RC1000 through Warning RC4413:
l l l l

Resource Resource Resource Resource

Compiler Compiler Compiler Compiler

Errors RC1000 through RC1208 Errors RC2001 through RC2129 Errors RC2130 through RC2236 Warnings RC4000 through RC4413

For information about Resource Compiler RWxxxx messages, see:
l Resource Compiler Messages (RWxxxx)

Resource Compiler Errors RC1000 through RC1208
The following topics cover Resource Compiler Errors RC1000 through Warning RC1208: Resource Compiler Fatal Error RC1000 UNKNOWN FATAL ERROR Note the circumstances of the error, try to isolate the problem, and create a reproducible test case, then report this information to technical support. Resource Compiler Fatal Error RC1002 out of heap space The Resource Compiler ran out of storage for items that it stores in its heap. One of the following may be a solution:
l Increase the Windows swap file space. Consider using the Control Panel, System icon,

Performance tab to increase your system's virtual memory, reboot, and retry. l Split the current file into two or more files and compile them separately. Resource Compiler Fatal Error RC1003 error count exceeds number; stopping compilation The number of errors was too great to continue compilation. Fix some errors and recompile. Resource Compiler Fatal Error RC1004 unexpected end of file found This error can be caused by omitting the linefeed and carriage return characters on the last line of a text file. Resource Compiler Fatal Error RC1005 file not found: filename The file specified in the RC command line was not found. Check to see whether the file has been moved to another directory and whether the filename or path is typed correctly. Files are searched for using the INCLUDE environment variable or the Directories setting. Resource Compiler Fatal Error RC1007 unrecognized option ' option' in filename' '


Resource Compiler Messages

Page 2 of 24

The specified option is not valid. Resource Compiler Fatal Error RC1008 no input file specified One or more source files must be specified on the Resource Compiler command line. Resource Compiler Fatal Error RC1009 compiler limit : macros too deeply nested macro' ' The Resource Compiler limit for macro nesting was exceeded. Revise the specified source file to decrease the nesting depth of its macros. Resource Compiler Fatal Error RC1010 no output file specified The Resource Compiler command line did not specify a filename for the compiled resource file. Resource Compiler Fatal Error RC1011 compiler limit : identifier' : macro definition too big ' The macro definition was longer than allowed. Try to split the definition into shorter definitions. Resource Compiler Fatal Error RC1012 unmatched parenthesis : missing character' ' The parentheses in a preprocessor directive were not matched. The missing character is either a left or right parenthesis. Resource Compiler Fatal Error RC1013 mismatched parentheses Make sure that every open parenthesis has a matching closing parenthesis. Resource Compiler Fatal Error RC1014 too many include files : depth = level' ' The nesting depth of #include directives was too great. Open files can be included by the use of nested directives. The source file containing the directive is counted as one of the files. Resource Compiler Fatal Error RC1015 ' cannot open include file filename' The given include file either did not exist, could not be opened, or was not found. Make sure that the environment settings are valid and that the correct path for the file is specified. Ensure that sufficient file handles are available to the Resource Compiler. If the file is on a network drive, make sure that you have permissions to open the file. Resource Compiler Fatal Error RC1016 #if[n]def expected an identifier The #ifdef or #ifndef conditional compilation directive was not supplied with an identifier to evaluate. An identifier must be specified with the #ifdef and #ifndef directives. Resource Compiler Fatal Error RC1017 invalid integer constant expression The expression in an #if directive either did not exist or did not evaluate to a constant.


Resource Compiler Messages

Page 3 of 24

Resource Compiler Fatal Error RC1018 unexpected '#elif' The #elif directive did not appear within an #if, #ifdef, or #ifndef construct. Make sure that there is an #if, #ifdef, or #ifndef statement in effect before this statement. Resource Compiler Fatal Error RC1019 unexpected '#else' The #else directive did not appear within an #if, #ifdef, or #ifndef construct. Make sure that there is an #if, #ifdef, or #ifndef statement in effect before this statement. Resource Compiler Fatal Error RC1020 unexpected '#endif' An #endif directive appeared without a matching #if, #ifdef, or #ifndef directive. Make sure that there is a matching #endif for each #if, #ifdef, and #ifndef statement. Resource Compiler Fatal Error RC1021 invalid preprocessor command string' ' The characters following the number sign (#) did not form a valid preprocessor directive. The number sign cannot be used as the first character in an identifier. Resource Compiler Fatal Error RC1022 expected '#endif' An #if, #ifdef, or #ifndef directive was not terminated with an #endif directive. Make sure that there is an #if, #ifdef, or #ifndef statement in effect before this statement. Resource Compiler Fatal Error RC1023 filename' cannot open source file ' The specified file either did not exist, could not be opened, or was not found. Make sure that the environment settings are valid and that the correct path for the file is specified. If this error appears without an error message, the Resource Compiler has run out of file handles. Resource Compiler Fatal Error RC1047 "too many option options, 'string'" The given option was specified too many times. The given string is the argument to the option that caused the error. Resource Compiler Fatal Error RC1048 ' unknown option 'character' in option' The given character was not a valid letter for the option. Resource Compiler Fatal Error RC1049 invalid numerical argument string' ' The Resource Compiler expected a numerical argument but received the given string. This error may be caused by giving a hexadecimal number without the necessary \x prefix or by a misformed floatingpoint number. Resource Compiler Fatal Error RC1052 compiler limit : #if or #ifdef blocks nested too deeply


Resource Compiler Messages

Page 4 of 24

The program exceeded the maximum allowable nesting levels for #if and #ifdef directives. This error can be caused by include files that use these preprocessor directives. Resource Compiler Fatal Error RC1067 compiler limit : identifier overflowed internal buffer An internal compiler limit was exceeded. Resource Compiler Fatal Error RC1101 no resource binary filename specified The Rename Output (/fo) option was specified, but was not followed by filename. The following syntax must be used with the /fo option: RC /fooutfilename infilename.rc Resource Compiler Fatal Error RC1102 internal error : too many arguments to RCPP Too many arguments were passed to the Resource Compiler preprocessor. Reduce the number of symbols defined with the Define Symbols (/d) option by defining them in your source. This error can also be caused by specifying too many include file search paths using the Include Search Path option (/i). Resource Compiler Fatal Error RC1103 invalid switch, option The specified option is not a valid Resource Compiler option. Resource Compiler Fatal Error RC1105 invalid switch, option: too many /d switches Too many symbols were defined using the Define Symbols (/d) option. Define some symbols in your source and recompile. Resource Compiler Fatal Error RC1106 invalid switch: option The specified option is not a valid Resource Compiler option. The following options are valid: /r Emit .RES file /v Verbose (print progress messages) /d Define a symbol /fo Rename .RES file /l Default language ID in hex /I Add a path for INCLUDE searches /x Ignore INCLUDE environment variable /c Define a code page used by NLS Conversion Resource Compiler Fatal Error RC1107 invalid usage; use RC /? for Help An invalid Resource Compiler option was specified. Valid options are one of the following: /r, /v, /d, /fo, /l, /i, /x, or /c: Resource Compiler Fatal Error RC1109 error creating resource-name Could not create specified .RES file. Make sure it is not being created on a read-only drive. Use the /V option to find out whether the file is being created.


Resource Compiler Messages

Page 5 of 24

Resource Compiler Fatal Error RC1110 could not open filename RC could not open the specified resource script file. Make sure that the file exists. Resource Compiler Fatal Error RC1116 RC terminating after preprocessor errors The Resource Compiler halted due to other errors. Fix the other errors and recompile. Resource Compiler Fatal Error RC1120 out of memory, needed number bytes The Resource Compiler ran out of storage for items that it stores in its heap. Usually this is the result of having too many symbols. One of the following may be a solution:
l Increase the Windows swap file space. Consider using the Control Panel, System icon,

Performance tab to increase your system's virtual memory, reboot, and retry.
l Eliminate unnecessary include files, especially unneeded #defines and function prototypes. l Split the current file into two or more files and compile them separately.

Resource Compiler Fatal Error RC1121 I/O error reading file The Resource Compiler was not able to read a file. Check that the drive containing the file is available and that the file is valid. Resource Compiler Fatal Error RC1122 I/O error writing file The Resource Compiler could not write to a file. This error may be caused by insufficient disk space. You must have free space equivalent to about twice the size of the executable file you are creating. Other possible reasons for this error are:
l Writing to a read-only volume l Writing to a bad sector l A sharing violation

Resource Compiler Fatal Error RC1123 I/O error seeking in file The compiler was unable to complete an I/O operation. Resource Compiler Fatal Error RC1201 invalid switch - missing include path after /i The Specify Include Path (/i) option was specified, but was not followed by a path. Resource Compiler Fatal Error RC1202 invalid switch - missing default language ID after /l The Specify Default Language (/l) option was specified, but was not followed by a hexadecimal language ID. Resource Compiler Fatal Error RC1203 invalid hexadecimal default language ID specified.


Resource Compiler Messages

Page 6 of 24

The Specify Default Language (/l) option was specified, but was followed by an invalid hexadecimal language ID. See the Platform SDK for a list of valid language IDs. Resource Compiler Fatal Error RC1204 Invalid switch - missing code page after /c The Specify Code Page (/c) option was specified, but it was not followed by a code page. Resource Compiler Fatal Error RC1205 invalid code page The Specify Code Page (/c) option was specified, but was followed by an invalid code page. See Code Pages in the the online documentation for more information. Resource Compiler Fatal Error RC1206 specified code page at cmd line does not exist in registry The Specify Code Page (/c) option was specified, but was followed by a code page whose location is not specified in the registry. Resource Compiler Fatal Error RC1207 default code page is invalid The code page specified by the RCCODEPAGE environment variable is not valid. See Code Pages in the online documentation for more information. Resource Compiler Fatal Error RC1208 input file has .RES extension The .RES extension is used for Resource Compiler output. The .RC extension should be used for Resource Compiler scripts. Return to Main Resource Compiler Messages Page

Resource Compiler Errors RC2001 through RC2129
Resource Compiler Error RC2001 newline in constant A string constant was continued on a second line without either a backslash (\) or closing and opening double quotation marks ("). To break a string constant that is on two lines in the source file, do one of the following:
l End the first line with the line-continuation character, a backslash. l Close the string on the first line with a double quotation mark and open the string on the next

line with another quotation mark. It is not sufficient to end the first line with \n, the escape sequence for embedding a newline character in a string constant. Resource Compiler Error RC2003 expected 'defined id' An identifier was expected after the specified preprocessing keyword. Resource Compiler Error RC2004


Resource Compiler Messages

Page 7 of 24

expected 'defined(id)' An identifier was expected after the left parenthesis following the specified preprocessing keyword. Resource Compiler Error RC2005 #line expected a line number, found token' ' A #line directive lacked the required line-number specification. Resource Compiler Error RC2006 #include expected a filename, found token' ' An #include directive lacked the required filename specification. Resource Compiler Error RC2007 #define syntax An identifier was expected following #define in a preprocessing directive. Resource Compiler Error RC2008 'character' : unexpected in macro definition The given character was found immediately following the name of the macro. Resource Compiler Error RC2009 reuse of macro formal ' identifier' The given identifier was used more than once in the formal parameter list of a macro definition. Resource Compiler Error RC2010 'character' : unexpected in formal list The given character was used incorrectly in the formal parameter list of a macro definition. Resource Compiler Error RC2012 missing name following '<' An #include directive lacked the required filename specification. Resource Compiler Error RC2013 missing '>' The closing angle bracket (>) was missing from an #include directive. Resource Compiler Error RC2014 preprocessor command must start as first non-whitespace Non-white-space characters appeared before the number sign (#) of a preprocessor directive on the same line. Resource Compiler Error RC2015 too many chars in constant A character constant contained more than two characters. Character constants are limited to one character (standard character constants) or two characters (long character constants). Note that an escape sequence (for example, \t for tab) is converted to a single character. Resource Compiler Error RC2016 no closing single quote A newline character was found before the closing single quotation mark of a character constant.


Resource Compiler Messages

Page 8 of 24

Resource Compiler Error RC2017 illegal escape sequence An escape sequence appeared where one was not expected. An escape sequence - a backslash ( \ ) followed by a number or letter - may occur only in a character or string constant. Resource Compiler Error RC2018 unknown character 'hexnumber' The ASCII character corresponding to the given hexadecimal number appeared in the source file but is an illegal character. One possible cause of this error is corruption of the source file. Resource Compiler Error RC2019 expected preprocessor directive, found ' character' The given character followed a number sign (#), but it was not the first letter of a preprocessor directive. Resource Compiler Error RC2020 illegal digit number for base radix The specified digit is not a valid digit for the base specified by radix. Either the digit or the radix could be incorrect. Octal digits must be numbers from 0 to 7, and hexadecimal digits must be numbers from 0 to 9 or letters from A through E. Resource Compiler Error RC2021 expected exponent value, not ' character' The given character was used as the exponent of a floating-point constant but was not a valid number. Resource Compiler Error RC2022 'number' : too big for character The octal number following a backslash (\) in a character or string constant was too large to be represented as a character. Resource Compiler Error RC2101 Invalid directive in preprocessed RC file The RC file contains a #pragma directive. Use the #ifndef preprocessor directive with the RC_INVOKED constant that the Resource Compiler defines when it processes an include file. Place the #pragma directive inside a block of code that is not processed when the RC_INVOKED constant is defined. Code in the block is processed only by the C/C++ compiler and not by the Resource Compiler. The following sample code demonstrates this technique:
#ifndef RC_INVOKED #pragma pack(2) // C/C++ only, ignored by Resource Compiler #endif

The #pragma preprocessor directive has no meaning in an .RC file. The #include preprocessor directive is used frequently in an .RC file to include a header file (either a project-based custom header file or a standard header file provided by Microsoft with one of its products). Some of these include files contain the #pragma directive. Because a header file can include one or more other header files,


Resource Compiler Messages

Page 9 of 24

the file that contains the offending #pragma directive may not be immediately obvious. The #ifndef RC_INVOKED technique can control including header files in project-based header files. Resource Compiler Error RC2102 string literal too long An RCDATA string exceeded the maximum allowable length. Resource Compiler Error RC2103 unexpected end of file in string literal An end of file was found before the end of a string. The string is probably missing a closing double quotation mark ("). Resource Compiler Error RC2104 undefined keyword or key name: key The specified keyword or key name was not defined. If you encounter the following error message:
undefined keyword or key name: MFT_STRING

Open the file ...\mfc\include\AfxRes.h and add the following include directive:
#include

Resource Compiler Error RC2105 BEGIN expected in string table The BEGIN keyword must immediately follow the ACCELERATORS keyword. Resource Compiler Error RC2106 BEGIN expected in accelerator table The BEGIN keyword must immediately follow the ACCELERATORS keyword. Resource Compiler Error RC2107 expected numeric command value RC was expecting a numeric idvalue field in the ACCELERATORS statement. Make sure that you have used a #define constant to specify the value and that the constant is spelled correctly. Resource Compiler Error RC2108 unbalanced parentheses An open parenthesis was not matched with a closing parenthesis. Resource Compiler Error RC2109 expected numerical dialog constant A DIALOG statement requires integer values for the x, y, width, and height fields. Make sure these values are included after the DIALOG keyword and that they are not negative. Resource Compiler Error RC2110 expected numerical dialog constant A DIALOG statement requires integer values for the x, y, width, and height fields. Make sure these values are included after the DIALOG keyword and that they are not negative. Resource Compiler Error RC2111 invalid control type Each CONTROL statement in a DIALOG statement must be one of the following: 3STATE, AUTO3,


Resource Compiler Messages

Page 10 of 24

AUTOCHECK, AUTORADIO, BEDIT, CHECKBOX, COMBOBOX, CONTROL, CTEXT, DEFPUSHBUTTON, EDITTEXT, GROUPBOX, HEDIT, ICON, IEDIT, LISTBOX, LTEXT, PUSHBOX, PUSHBUTTON, RADIOBUTTON, RTEXT, SCROLLBAR, USERBUTTON. Make sure these CONTROL statements are spelled correctly. Resource Compiler Error RC2112 BEGIN expected in dialog The BEGIN keyword must immediately follow the DIALOG keyword. Resource Compiler Error RC2113 END expected in dialog The END keyword must occur at the end of a DIALOG statement. Make sure there are no open quotes left from the preceding statement. Resource Compiler Error RC2114 expected control class name The class field of a CONTROL statement in the DIALOG statement must be one of the following types: BUTTON, COMBOBOX, EDIT, LISTBOX, SCROLLBAR, STATIC, or user-defined. Make sure the class is spelled correctly. Resource Compiler Error RC2115 text string or ordinal expected in control The text field of a CONTROL statement in the DIALOG statement must be either a text string or an ordinal reference to the type of control is expected. If using an ordinal, make sure that you have a #define statement for the control. Resource Compiler Error RC2116 expecting number for ID Expecting a number for the id field of a control statement in the DIALOG statement. Make sure you have a number or #define statement for the control ID. Resource Compiler Error RC2117 expected numeric point size The pointsize field of the FONT option in the DIALOG statement must be an integer point size value. Resource Compiler Error RC2118 expected font face name The typeface field of the FONT option in the DIALOG statement must be an ASCII character string enclosed in double quotation marks. This field specifies the name of a font. Resource Compiler Error RC2119 expecting quoted string in dialog title The captiontext field of the CAPTION option in the DIALOG statement must be an ASCII character string enclosed in double quotation marks. Resource Compiler Error RC2120 expecting quoted string in dialog class The class field of the CLASS option in the DIALOG statement must be an integer or a string, enclosed in double quotation marks.


Resource Compiler Messages

Page 11 of 24

Resource Compiler Error RC2121 BEGIN expected in menu The BEGIN keyword must immediately follow the MENU keyword. Resource Compiler Error RC2122 unknown menu subtype The item-definition field of the MENU statement can contain only MENUITEM and POPUP statements. Resource Compiler Error RC2123 END expected in menu The END keyword must come at the end of a MENU statement. Make sure you do not have any open quotation marks or a mismatched pair of BEGIN and END statements. Resource Compiler Error RC2124 empty menus not allowed An END keyword appears before any menu items are defined in the MENU statement. Empty menus are not permitted by the Resource Compiler. Make sure you do not have any open quotation marks within the MENU statement. Resource Compiler Error RC2125 expected ID value for menuitem The MENU statement must contain a menuID field, which specifies the name or number that identifies the menu resource. Resource Compiler Error RC2126 expected menu string Each MENUITEM and POPUP statement must contain a text field, which is a string enclosed in double quotation marks that specifies the name of the menu item or pop-up menu. A MENUITEM SEPARATOR statement requires no quoted string. Resource Compiler Error RC2127 version WORDs separated by commas expected Version numbers in a version resource should be of type WORD, and separated by commas. Resource Compiler Error RC2128 DWORD expected A valid version number was not found. It must be a DWORD type. Resource Compiler Error RC2129 BEGIN expected in VERSIONINFO resource The BEGIN keyword must immediately follow the VERSIONINFO keyword. Return to Main Resource Compiler Messages Page

Resource Compiler Errors RC2130 through RC2236
Resource Compiler Error RC2130


Resource Compiler Messages

Page 12 of 24

#line expected a string containing the file name, found token' ' A #line directive was missing a required filename. Resource Compiler Error RC2131 expecting quoted string for key The field for this statement must be a character string enclosed in double quotation marks. Resource Compiler Error RC2132 expected VALUE, BLOCK, or, END keyword A block in a VERSION resource doesn't end properly, or a new block doesn't begin properly. This results in a VERSION statement that is not a valid block. Resource Compiler Error RC2133 unexpected value in value data The raw-data values in the RCDATA statement must be integers or strings, each separated by a comma. Make sure you did not leave out a comma or leave out a quotation mark around a string. Resource Compiler Error RC2134 BEGIN expected in RCDATA The BEGIN keyword must immediately follow the RCDATA keyword. Resource Compiler Error RC2135 file not found: filename The file specified in the RC command line was not found. Check to see whether the file has been moved to another directory and whether the filename or path is typed correctly. Files are searched for using the INCLUDE environment variable or the visual development environment INCLUDE directory setting (Tools menu, Options item, Directories tab). Resource Compiler Error RC2136 missing '=' in EXSTYLE= An equal sign (=) was missing from an EXSTYLE (Extended Style Flags) statement. When the EXSTYLE is embedded in the DIALOG or MENU statement it must have the following form: EXSTYLE=FLAGS Resource Compiler Error RC2137 empty character constant A pair of single quotes was found with no character specified between them. Resource Compiler Error RC2138 unmatched close comment '/*' An open comment sequence (/*) was not matched with a close comment sequence (*/) This error can be caused by nesting comments. Resource Compiler Error RC2139 VERSION not a number A VERSION resource must be a number. Resource Compiler Error RC2140 CHARACTERISTICS not a number


Resource Compiler Messages

Page 13 of 24

A CHARACTERISTICS resource must be a number. Resource Compiler Error RC2141 invalid type A different type was expected. Resource Compiler Error RC2142 ellipsis requires three periods An incorrect number of periods (.) was used in an ellipsis. Resource Compiler Error RC2143 font names must be ordinals The pointsize field in the FONT statement must be an integer, not a string. Resource Compiler Error RC2144 PRIMARY LANGUAGE ID not a number The PRIMARY LANGUAGE ID must be a hexadecimal language ID. See Language and Country Strings in the online documentation for a list of valid Language IDs. Resource Compiler Error RC2145 PRIMARY LANGUAGE ID too large The PRIMARY LANGUAGE ID must be a valid hexadecimal language ID. See Language and Country Strings in the Ronline documentation for a list of valid Language IDs. Resource Compiler Error RC2146 missing COMMA in LANGUAGE statement The comma separating the primary language and secondary language is missing. The LANGUAGE statement must use the following syntax: LANGUAGE primary_language_ID,secondary_language_ID Resource Compiler Error RC2147 SUBLANGUAGE ID not a number The SUBLANGUAGE ID value must be a number. The LANGUAGE statement must use the following syntax: LANGUAGE primary_language_ID,secondary_language_ID Valid SUBLANGUAGE IDs are defined as SUBLANG_ constants in the WINNT.H file. Resource Compiler Error RC2148 SUBLANGUAGE ID too large The SUBLANGUAGE ID value was out of range. The LANGUAGE statement must use the following syntax: LANGUAGE primary_language_ID,secondary_language_ID Valid SUBLANGUAGE IDs are defined as SUBLANG_ constants in the WINNT.H file. Resource Compiler Error RC2149 expected numeric constant in string table A numeric constant, defined in a #define statement, must immediately follow the BEGIN keyword in a STRINGTABLE statement. Resource Compiler Error RC2150 expected string in STRINGTABLE A string is expected after each stringid value in a STRINGTABLE statement.


Resource Compiler Messages

Page 14 of 24

Resource Compiler Error RC2151 cannot re-use string constants You are using the same value twice in a STRINGTABLE statement. Make sure you are not mixing overlapping decimal and hexadecimal values. Each ID in a STRINGTABLE must be unique. For maximum efficiency use contiguous constants that start on a multiple of 16. Resource Compiler Error RC2152 invalid control character A control character in the ACCELERATORS statement is invalid. A valid control character consists of one letter (only) following a caret (^). Resource Compiler Error RC2153 hex constants must have at least 1 hex digit An empty hexadecimal constant was found. Resource Compiler Error RC2154 control character out of range [^A - ^Z] A control character in the ACCELERATORS statement is invalid. The character following the caret (^) must be between A and Z, inclusive. Resource Compiler Error RC2155 invalid accelerator An event field in the ACCELERATORS statement was not recognized or was more than two characters in length. Resource Compiler Error RC2156 expected string or constant accelerator command RC was not able to determine what kind of key is being set up for the accelerator. The event field in the ACCELERATORS statement might be invalid. Resource Compiler Error RC2157 expected comma in accelerator table The Resource Compiler requires a comma between the event and idvalue fields in the ACCELERATORS statement. Resource Compiler Error RC2159 invalid accelerator type [ASCII or VIRTKEY] The type field in the ACCELERATORS statement must contain either the ASCII or VIRTKEY value. Resource Compiler Error RC2160 ## cannot occur at the beginning of a macro definition A macro definition began with a token-pasting operator (##). Resource Compiler Error RC2161 ## cannot occur at the end of a macro definition A macro definition ended with a token-pasting operator (##). Resource Compiler Error RC2162


Resource Compiler Messages

Page 15 of 24

expected macro formal parameter The token following a stringizing operator (#) was not a formal parameter name. Resource Compiler Error RC2163 accelerator type required [ASCII or VIRTKEY] The type field in the ACCELERATORS statement must contain either the ASCII or VIRTKEY value. Resource Compiler Error RC2164 unexpected value in RCDATA The raw-data values in the RCDATA statement must be integers or strings, each separated by a comma. Make sure you did not leave out a comma or leave out a quotation mark around a string. Resource Compiler Error RC2165 string not found in DLGINCLUDE statement The statement did not specify a valid include file. The DLGINCLUDE statement must use the following syntax: DLGINCLUDE "filename.h" Resource Compiler Error RC2166 numeric value expected at line The resource on the specified line must be a numeric value. Resource Compiler Error RC2167 unrecognized VERSIONINFO field; BEGIN or comma expected An unrecognized field was found in the FIXED part of a VERSIONINFO structure declaration. A VERSIONINFO field must be DWORDS separated by a comma. Resource Compiler Error RC2168 resource too large The size limitation of a resource was exceeded. This limit does not apply to cursors, icons, bitmaps, or other file-based resources. Resource Compiler Error RC2169 resource file filename is not in 2.03 format The specified resource used a format earlier than version 2.03. The resource file must be converted or re-created using the format for version 3.00 or later. Resource Compiler Error RC2170 bitmap file filename is not in 3.00 format Bitmaps using the Windows version 2.x format cannot be used in version 3.x resource files. The bitmap must be redrawn or converted to 3.x format. Resource Compiler Error RC2171 unknown DIB header format The bitmap header is not a BITMAPCOREHEADER or BITMAPINFOHEADER structure. Resource Compiler Error RC2174 bitmap file filename is not in 2.03 format A bitmap used a format earlier than version 2.03. The bitmap must be converted or redrawn using the format for version 3.00 or later.


Resource Compiler Messages

Page 16 of 24

Resource Compiler Error RC2175 resource file filename is not in 3.00 format The specified resource used a format earlier than version 3.00. The resource file must be converted or recreated using the format for version 3.00 or later. Resource Compiler Error RC2176 old DIB in filename. An old format Device Independent Bitmap was found in the specified file. It should be converted to the current format. Resource Compiler Error RC2177 constant too big A constant value was too large to be represented in the type to which it was assigned. Resource Compiler Error RC2180 unable to open temporary file The Resource Compiler was unable to open a temporary file. The probable cause is either that you do not have write permissions for the directory, or that the directory does not exist. The Resource Compiler attempts to use these files in the directory specified by the TMP (or GetSystemTempDirectory) environment variable or the current directory if none is specified. Resource Compiler Error RC2181 duplicate font ID fontID The specified font ID was already defined. Resource Compiler Error RC2189 #error : error This error is used to display other error messages. Resource Compiler Error RC2235 too many arguments supplied An expression contained more formal parameters than expected. Resource Compiler Error RC2236 required parameter missing An expression contained fewer formal parameters than expected. Return to Main Resource Compiler Messages Page

Resource Compiler Warnings RC4000 through RC4413
The following topics cover Resource Compiler Warnings RC4000 through RC4413: Resource Compiler Warning RC4000 UNKNOWN WARNING Note the circumstances of the warning, try to isolate the problem and create a reproducible test case, then consult the technical-support help file or the technical-support section in one of your manuals.


Resource Compiler Messages

Page 17 of 24

Resource Compiler Warning RC4002 too many actual parameters for macro ' identifier' The number of actual parameters specified with the given identifier was greater than the number of formal parameters given in the macro definition of the identifier. The additional actual parameters were collected but ignored during expansion of the macro. Resource Compiler Warning RC4003 not enough actual parameters for macro 'identifier' The number of actual parameters specified with the given identifier was less than the number of formal parameters given in the macro definition of the identifier. When a formal parameter is referenced in the definition and the corresponding actual parameter has not been provided, empty text is substituted in the macro expansion. Resource Compiler Warning RC4004 missing close parenthesis after 'defined' An opening parenthesis was not matched with a closing parenthesis. Resource Compiler Warning RC4005 'identifier' : macro redefinition The given identifier was defined twice. The compiler used the second macro definition. This warning can be caused by defining a macro on the command line and in the code with a #define directive. It also can be caused by macros imported from include files. To eliminate the warning, either remove one of the definitions or use an #undef directive before the second definition. Resource Compiler Warning RC4006 #undef expected an identifier The name of the identifier whose definition was to be removed was not given with the #undef directive. The #undef directive was ignored. Resource Compiler Warning RC4009 string too big, trailing chars truncated A string was too large to fit in a buffer. Trailing characters were truncated and the remaining string was used. Resource Compiler Warning RC4011 identifier truncated to ' identifier' An identifier was too long and was truncated to the name shown in the warning. Resource Compiler Warning RC4012 float constant in a cross compilation A float constant may not have the same value on different target platforms. Resource Compiler Warning RC4067 unexpected characters following ' token' directive - newline expected A newline character should follow the specified token. Resource Compiler Warning RC4079 unexpected token 'token'


Resource Compiler Messages

Page 18 of 24

Check the syntax of the line containing the specified token. Resource Compiler Warning RC4093 unescaped newline in character constant in inactive code The constant expression of an #if, #elif, #ifdef, or #ifndef preprocessor directive evaluated to zero, making the code that follows inactive. Within that inactive code, a newline character appeared within a set of single or double quotation marks. All text until the next double quotation mark was considered to be within a character constant. Resource Compiler Warning RC4111 unexpected token 'string' Check the syntax of the line containing the specified token. Resource Compiler Warning RC4117 macro name ' macro' is reserved, macro ignored The specified macro was given a reserved name. Resource Compiler Warning RC4203 SHIFT or CONTROL used without VIRTKEY In an accelerator table resource, SHIFT or CONTROL require VIRTKEY. Because SHIFT and CONTROL are indicated as flag bits in a VIRTKEY type accelerator, they cannot exist independent from a VIRTKEY. Resource Compiler Warning RC4204 ASCII character not equivalent to virtual key code A string literal was used for the virtual key code in a VIRTKEY type accelerator. This warning lets you continue, but be aware that the accelerator keys generated may not match the string you indicated. (VIRTKEYs use different key codes than ASCII accelerators.) While string literals are syntactically valid, you can only ensure that you get the accelerator you want by using the VK_* #define values in WINDOWS.H. Resource Compiler Warning RC4205 string literal longer than 256 - stored anyway A literal sting exceeded 256 characters. It was stored intact. Resource Compiler Warning RC4206 name string too long - truncated at 256 A name string exceeded the limit of 256 characters. It was truncated to 256 characters. Resource Compiler Warning RC4207 type string too long - truncated at 256 A type string exceeded the limit of 256 characters. It was truncated to 256 characters. Resource Compiler Warning RC4208 title string too long - truncated at 256 A title string exceeded the limit of 256 characters. It was truncated to 256 characters. Resource Compiler Warning RC4413 cannot determine file type for filename' : assuming 8-bit ASCII '


Resource Compiler Messages

Page 19 of 24

The type of specified file is not known to the Resource Compiler. It was compiled as an 8-bit ASCII file. Return to Main Resource Compiler Messages Page

Resource Compiler Errors RW1004 through RW4004
The following topics cover Resource Compiler Errors RW1004 through RW4004: Resource Compiler Fatal Error RW1004 Unexpected end of file This error can be caused by omitting the linefeed and carriage-return characters on the last line of a text file. Resource Compiler Fatal Error RW1009 Error creating resource-name Could not create specified .RES file. Make sure it is not being created on a read-only drive. Use the /V option to find out whether the file is being created. Resource Compiler Fatal Error RW1016 RC terminating after preprocessor errors The Resource Compiler halted due to other errors. Fix the other errors and recompile. Resource Compiler Fatal Error RW1021 I/O error reading file The Resource Compiler was not able to read a file. Check that the drive containing the file is available and that the file is valid. Resource Compiler Fatal Error RW1022 I/O error writing file The Resource Compiler could not write to a file. This error may be caused by insufficient disk space. You must have free space equivalent to about twice the size of the executable file you are creating. Other possible reasons for this error are:
l Writing to a read-only volume l Writing to a bad sector l A sharing violation

Resource Compiler Fatal Error RW1023 I/O error writing file, drive full The Resource Compiler could not write a file to a drive because the drive was full. You must have free space equivalent to about twice the size of the executable file you are creating. Resource Compiler Fatal Error RW1025 Out of far heap memory There wasn't enough memory. Consider using the Control Panel, System icon, Performance tab to increase your system's virtual memory, reboot, and retry.


Resource Compiler Messages

Page 20 of 24

Resource Compiler Fatal Error RW1030 Output Error The output error can be caused by any of following conditions:
l Errors occurred when linking file

l l l

l

l

l

LINK failed. See Set Linker Options and Linker Reference for more information about linking an executable. .EXE file too large; relink with higher /ALIGN value f the .EXE file is larger than 800K, you should use the /ALIGN:32 value on your LINK line. File not created by LINK You must create the .EXE file with a version of Microsoft LINK later than 5.0 or with LINKW. Invalid .EXE file Make sure that the linker created the .EXE file correctly and that the file exists. You can check the .EXE file with the DUMPBIN utility. Not a Microsoft Windows format .EXE file Make sure that the linker created the .EXE file correctly and that the file exists. You can check the .EXE file with the DUMPBIN utility. Unable to create destination RC was not able to create the destination file. Make sure that there is enough disk space and that you have write permission on the volume. Unable to open exe-file RC could not open this .EXE file. Make sure that the linker created it correctly and that the file exists.

Resource Compiler Error RW2001 Invalid directive in preprocessed RC file The RC file contains a #pragma directive. Use the #ifndef preprocessor directive with the RC_INVOKED constant that the Resource Compiler defines when it processes an include file. Place the #pragma directive inside a block of code that is not processed when the RC_INVOKED constant is defined. Code in the block is processed only by the C/C++ compiler and not by the Resource Compiler. The following sample code demonstrates this technique:
#ifndef RC_INVOKED #pragma pack(2) // C/C++ only, ignored by Resource Compiler #endif

The #pragma preprocessor directive has no meaning in an .RC file. The #include preprocessor directive is used frequently in an .RC file to include a header file (either a project-based custom header file or a standard header file provided by Microsoft with one of its products). Some of these include files contain the #pragma directive. Because a header file can include one or more other header files, the file that contains the offending #pragma directive may not be immediately obvious. The #ifndef RC_INVOKED technique can control including header files in project-based header files. Resource Compiler Error RW2002 Parsing error The parsing error can be caused by any of following conditions:


Resource Compiler Messages

Page 21 of 24

l Accelerator type required (ASCII or VIRTKEY)

l l l l l l

l

l

l

l

l l

l

l

l

l

The type field in the ACCELERATORS statement must contain either the ASCII or VIRTKEY value. BEGIN expected in accelerator table The BEGIN keyword must immediately follow the ACCELERATORS keyword. BEGIN expected in dialog The BEGIN keyword must immediately follow the DIALOG keyword. BEGIN expected in menu The BEGIN keyword must immediately follow the MENU keyword. BEGIN expected in RCData The BEGIN keyword must immediately follow the RCDATA keyword. BEGIN keyword expected in string table The BEGIN keyword must immediately follow the STRINGTABLE keyword. Cannot re-use string constants You are using the same value twice in a STRINGTABLE statement. Make sure you are not mixing overlapping decimal and hexadecimal values. Each ID in a STRINGTABLE must be unique. For maximum efficiency use contiguous constants that start on a multiple of 16. Control character out of range [^A - ^Z] A control character in the ACCELERATORS statement is invalid. The character following the caret (^) must be between A and Z, inclusive. Empty menus not allowed An END keyword appears before any menu items are defined in the MENU statement. Empty menus are not permitted by the Resource Compiler. Make sure you do not have any open quotation marks within the MENU statement. END expected in dialog The END keyword must occur at the end of a DIALOG statement. Make sure there are no open quotes left from the preceding statement. END expected in menu The END keyword must come at the end of a MENU statement. Make sure you do not have any open quotation marks or a mismatched pair of BEGIN and END statements. Expected comma in accelerator Table RC requires a comma between the event and idvalue fields in the ACCELERATORS statement. Expected control class name The class field of a CONTROL statement in the DIALOG statement must be one of the following types: BUTTON, COMBOBOX, EDIT, LISTBOX, SCROLLBAR, STATIC, or user-defined. Make sure the class is spelled correctly. Expected font face name The typeface field of the FONT option in the DIALOG statement must be an ASCII character string enclosed in double quotation marks. This field specifies the name of a font. Expected ID value for menuitem The MENU statement must contain a menuID field, which specifies the name or number that identifies the menu resource. Expected menu string Each MENUITEM and POPUP statement must contain a text field, which is a string enclosed in double quotation marks that specifies the name of the menu item or pop-up menu. A MENUITEM SEPARATOR statement requires no quoted string. Expected numeric command value RC was expecting a numeric idvalue field in the ACCELERATORS statement. Make sure that


Resource Compiler Messages

Page 22 of 24

you have used a #define constant to specify the value and that the constant is spelled correctly.
l Expected numeric constant in string table

l

l

l l

l

l

l

l

l l

l

l

l

l l

A numeric constant, defined in a #define statement, must immediately follow the BEGIN keyword in a STRINGTABLE statement. Expected numeric point size The pointsize field of the FONT option in the DIALOG statement must be an integer point size value. Expected numerical dialog constant A DIALOG statement requires integer values for the x, y, width, and height fields. Make sure that these values are included after the DIALOG keyword and that they are not negative. Expected string in STRINGTABLE A string is expected after each stringid value in a STRINGTABLE statement. Expected string or constant accelerator command RC was not able to determine what kind of key is being set up for the accelerator. The event field in the ACCELERATORS statement might be invalid. Expecting number for ID Expecting a number for the id field of a control statement in the DIALOG statement. Make sure you have a number or #define statement for the control ID. Expecting quoted string in dialog class The class field of the CLASS option in the DIALOG statement must be an integer or a string, enclosed in double quotation marks. Expecting quoted string in dialog title The captiontext field of the CAPTION option in the DIALOG statement must be an ASCII character string enclosed in double quotation marks. File not found: filename The file specified in the RC command line was not found. Check to see whether the file has been moved to another directory and whether the filename or path is typed correctly. Files are searched for using the INCLUDE environment variable or the Visual Workbench setting, if available. Font names must be ordinals The pointsize field in the FONT statement must be an integer, not a string. Invalid accelerator An event field in the ACCELERATORS statement was not recognized or was more than two characters in length. Invalid accelerator type (ASCII or VIRTKEY) The type field in the ACCELERATORS statement must contain either the ASCII or VIRTKEY value. Invalid control character A control character in the ACCELERATORS statement is invalid. A valid control character consists of one letter (only) following a caret (^). Invalid control type Each control statement in a DIALOG statement must be one of the following: CHECKBOX, COMBOBOX, CONTROL, CTEXT, DEFPUSHBUTTON, EDITTEXT, GROUPBOX, ICON, LISTBOX, LTEXT, PUSHBUTTON, RADIOBUTTON, RTEXT, SCROLLBAR. Make sure these control statements are spelled correctly. Invalid type The resource type was not among the types defined in the WINDOWS.H file. Text string or ordinal expected in control The text field of a CONTROL statement in the DIALOG statement must be either a text string or an ordinal reference to the type of control is expected. If using an ordinal, make sure that you


Resource Compiler Messages

Page 23 of 24

have a #define statement for the control.
l Mismatched parentheses

Make sure you have closed every open parenthesis in the DIALOG statement.
l Unexpected value in RCData

The raw-data values in the RCDATA statement must be integers or strings, each separated by a comma. Make sure you did not leave out a comma or leave out a quotation mark around a string. l Unknown menu subtype The item-definition field of the MENU statement can contain only MENUITEM and POPUP statements. Resource Compiler Error RW2003 Generation Error General errors can be caused by any of following conditions:
l Error: Bitmap file resource-file is not in 3.00 format

l

l

l l

l

l

Bitmaps using the Windows version 2.x format cannot be used in version 3.x resource files. The bitmap must be redrawn or converted to 3.x format. Error: Old DIB in resource-name. A Device Independent Bitmap (DIB) in the specified resource is not compatible with the 3.0 format. The bitmap must be redrawn or converted to the 3.x format. Error: Resource file resouce-name is not in 3.00 format An icon or cursor in the specified resource used a previous format. The icon or cursor must be redrawn or converted to the 3.x format. Unknown DIB header format The bitmap header is not a BITMAPCOREHEADER or BITMAPINFOHEADER structure. Bitmap file resource file is not in 2.03 format A bitmap used a format earlier than version 2.03. The bitmap must be converted or redrawn using the format for version 3.00 or later. Resource file is not in 3.00 format A cursor or icon used a format earlier than version 3.00. The resource must be converted or redrawn using the format for version 3.00 or later. Unable to open temporary file The Resource Compiler was unable to open a temporary file. The probable cause is either that you do not have write permissions for the directory or that the directory does not exist. The Resource Compiler attempts to use these files in the directory specified by the TMP environment variable or the current directory if none is specified.

Resource Compiler Warning RW4001 .EXE processing options (/L /M /P /T /K /E /31 or /30) .EXE processing options (/L /M /P /T /K /E /31 or /30) were specified when no executable file would be processed. These options can only be used when the result is an .EXE file (not a .RES file). Resource Compiler Warning RW4003 SHIFT or CONTROL used without VIRTKEY In an accelerator table resource, SHIFT or CONTROL require VIRTKEY. Because SHIFT and CONTROL are indicated as flag bits in a VIRTKEY type accelerator, they cannot exist independent from a VIRTKEY.


Resource Compiler Messages

Page 24 of 24

Resource Compiler Warning RW4004 ASCII character not equivalent to virtual key code A string literal was used for the virtual key code in a VIRTKEY type accelerator. This warning lets you continue, but be aware that the accelerator keys generated may not match the string you indicated. (VIRTKEYs use different key codes than ASCII accelerators.) Return to Main Resource Compiler Messages Page