Microsoft KB Archive/83220

{|
 * width="100%"|

PRB: U1045: &quot;Lexer Missed a Brace&quot; 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 &quot;Microsoft C/C++ Environment and Tools&quot; 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