Preprocessor Errors

The following error messages are generated during preprocessing:

Return codeDescription

missing source file name

No input file has been specified in the MIDL compiler–command line.


cannot open input file

The specified input file could not be opened.


error while reading input file

The system returned an error while reading the input file.


error returned by the C preprocessor

The preprocessor returned an error. The error message is directed to the output stream.


cannot execute C preprocessor

The operating system reported an error when it tried to launch the preprocessor. With MS-DOS, this error can occur when the argument list exceeds 128 bytes. You can reduce the size of the argument list by using a response file.


cannot find C preprocessor

The MIDL compiler cannot locate the preprocessor in the path specified by either the command line or the PATH environment variable.


invalid C preprocessor executable

The specified preprocessor is not executable or it has an invalid executable-file format.


switch specified more than once on command line

A switch that should only occur once on the command-line was specified multiple times. The redefined switch is displayed after the error message.


unknown switch

An unknown switch has been specified on the command line.


unknown argument ignored

The MIDL compiler does not recognize the command-line argument as a switch, a switch argument, or a file name. The compiler discards the unknown argument and attempts to continue processing.

If everything appears correct but this error persists, check to see if the arguments to the command-line switch are passed to the MIDL compiler in a response file. If they are and if the arguments are a file name that uses the multibyte character set (MBCS), ensure that the file name contains no spaces. If it does, delete the spaces, invoke the MIDL compiler and its arguments from a batch file, or enclose the file name in quotes.


switch not implemented

The MIDL compiler recognizes the switch as defined, but the switch is not yet implemented in Microsoft RPC.


argument(s) missing for switch

The switch expected an argument, and the argument is not present. Check the appropriate topic for the specified switch in the MIDL Command-Line Reference documentation.


argument illegal for switch /

The argument supplied to the specified switch is illegal. Check the appropriate topic for the specified switch in the MIDL Command-Line Reference documentation.


illegal syntax for switch

Several command-line switches require a space between the switch and the argument, while other switches require no space between the switch and the argument. The specified command line violates the defined syntax for that switch. Check the appropriate topic for the specified switch in the MIDL Command-Line Reference documentation.


/no_cpp overrides /cpp_cmd and /cpp_opt

The cpp_opt command has been supplied along with the /no_cpp switch. The /no_cpp switch takes precedence over the other switches.


/W0 or /no_warn overrides warning-level switch

The W0 or no_warn option has been specified along with the warning-level switch W1, W2, or W3. The /no_warn switch takes precedence over all other warning-level switches.


cannot create intermediate file

The system returned an error when the compiler tried to create an intermediate file. The disk might be full, the path might not exist, or you may not have write permission for the disk or directory.


out-of-system file handles

The MIDL compiler ran out of file handles while opening a file. This error can occur if too many import files are open and the compiler tries to open an IDL file or an intermediate file.


cannot open response file

The specified response file could not be opened. The file probably does not exist.


illegal character(s) found in response file

A nonprintable character has been detected in the response file. The response file should contain valid MIDL command-line switches and arguments.


mismatch in argument pair for switch

The arguments for this switch cannot be used together. Check the appropriate topic for the specified switch in the MIDL Command-Line Reference documentation.


nested invocation of response files is illegal

A response file cannot contain the @ command that directs the MIDL compiler to process another response file. Although there is no limit on the number of response files on the command line, response files cannot be nested.