Microsoft KB Archive/151898

= BUG: Include Directories Cannot End with a Backslash =

Article ID: 151898

Article Last Modified on 7/5/2005

-

APPLIES TO


 * Microsoft Visual C++ 2.0 Professional Edition
 * Microsoft Visual C++ 2.1
 * Microsoft Visual C++ 2.2
 * Microsoft Visual C++ 4.0 Standard Edition
 * Microsoft Visual C++ 4.1 Subscription
 * Microsoft Visual C++ 4.2 Enterprise Edition
 * Microsoft Visual C++ 4.2 Enterprise Edition
 * Microsoft Visual C++ 5.0 Enterprise Edition
 * Microsoft Visual C++ 6.0 Enterprise Edition
 * Microsoft Visual C++ 4.2 Professional Edition
 * Microsoft Visual C++ 4.2 Professional Edition
 * Microsoft Visual C++ 5.0 Professional Edition
 * Microsoft Visual C++ 6.0 Professional Edition
 * Microsoft Visual C++ 6.0 Standard Edition
 * Microsoft Visual C++ .NET 2002 Standard Edition
 * Microsoft Visual C++ .NET 2003 Standard Edition

-



This article was previously published under Q151898



SYMPTOMS
The compiler ignores some or all of the Command Line options that appear after the /I switch.



CAUSE
The compiler incorrectly parses the additional Include Directory Command Line switch if its argument ends with a backslash followed by a quotation mark. The compiler interprets the \" sequence as meaning the path contains a quotation mark.

If you set the additional Include Directories from within Developer Studio, double quotes are automatically placed around the directory name. If there is a backslash at the end of the directory name, this problem occurs.



RESOLUTION
Remove the trailing backslash character from the Include Directory.



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.



Sample Code
// Compile options needed to generate error (compiler will not detect // the /D"_CMDLINE":) //   CL /c test.cpp /I"test\" /D"_CMDLINE" // // Compile options needed for successful compiling (compiler will // detect the /D"_CMDLINE":) //   CL /c test.cpp /I"test" /D"_CMDLINE"

// test.cpp //
 * 1) ifdef _CMDLINE
 * 2) pragma message("Program compiled with _CMDLINE defined.")
 * 3) else
 * 4) pragma message("Program compiled without _CMDLINE defined.")
 * 5) endif

Additional query words: kbVC400bug

Keywords: kbbug kbcompiler KB151898

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.