Microsoft KB Archive/83220

From BetaArchive Wiki

PRB: U1045: "Lexer Missed a Brace" Caused by Extra Space

Q83220



The information in this article applies to:


  • Microsoft NMAKE Utility for MS-DOS, versions 1.11, 1.12, 1.13, 1.2, 1.3, 1.4
  • Microsoft NMAKE Utility for OS/2, versions 1.11, 1.12, 1.13, 1.21
  • Microsoft NMAKE Utility for Windows NT, versions 1.4, 1.5





SYMPTOMS

An attempt to build a file with NMAKE fails and NMAKE generates one of the following messages. For NMAKE versions 1.11, 1.12, or 1.13:

fatal error U1045 : Lexer missed a brace

In NMAKE versions 1.2 or later:

fatal error U1038 : internal error : lexer

-or-

fatal error U1059 : missing '}' in dependent

-or-

fatal error U1059: syntax error : '}' missing in dependent



CAUSE

A dependent file search path lists multiple directories and the list includes one or more spaces.



RESOLUTION

Remove any spaces from the search path.



MORE INFORMATION

According to page 660 of the "Microsoft C/C++ Environment and Tools" manual for version 7.0, no spaces are allowed in multiple directory search paths.

For example, if your makefile includes a line like the following, NMAKE generates one of the errors listed above:

ALL : {c:\test; c:\source }test.exe

To resolve the error, remove the spaces. The following demonstrates the correct method to specify a multiple directory search path:

ALL : {c:\test;c:\source}test.exe

Additional query words: 1.11 1.12 1.13 1.20 1.21 1.30 1.40 1.50

Keywords : kb16bitonly
Issue type :
Technology : kbVCsearch kbAudDeveloper kbNMAKESearch kbNMAKE111DOS kbNMAKE112DOS kbNMAKE113DOS kbNMAKE120DOS kbNMAKE130DOS kbNMAKE140DOS kbNMAKE111OS2 kbNMAKE112OS2 kbNMAKE113OS2 kbNMAKE121OS2 kbNMAKE140NT kbNMAKE150NT


Last Reviewed: October 31, 1999
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.