PRB: Special Characters in Path Cause NMake Error U1007 (121018)



The information in this article applies to:

  • Microsoft Visual Workbench for Windows, when used with:
    • Microsoft Visual C++, 32-bit Editions 2.0
    • Microsoft Visual C++, 32-bit Editions 2.1
    • Microsoft Visual C++, 32-bit Editions 4.0
    • Microsoft Visual C++, 32-bit Editions 5.0

This article was previously published under Q121018

SYMPTOMS

Building a project that uses one of the special characters shown below works correctly in the Visual Workbench. But an attempt to build the same project from a command session fails, returning this error:
test.mak(98) : fatal error U1007: double quotation mark not allowed in name
Stop.

CAUSE

This is limitation of the NMAKE utility included with the products listed above. The following legitimate characters cause this problem:
   $, %, @, #, !, ^, (, ), {, }, [, ], -, and the space character.
				
When one of them is used in a path specification, Visual C++ puts quotation marks around the file specification in several places within the makefile. NMAKE cannot process files specified in this way.

WORKAROUND

To work around this problem:

  • Avoid using any of these special characters. -or-

  • Modify the makefile to remove the quotation marks and use the project as an external makefile when using the Visual C++ Workbench to launch the build. -or-

  • Always use the Visual C++ Workbench to build the project.

Modification Type:MajorLast Reviewed:12/1/2003
Keywords:kbide kbprb KB121018