Microsoft KB Archive/119161

= FIX: Dependencies May Not Be Detected =

Article ID: 119161

Article Last Modified on 8/16/2005

-

APPLIES TO

 Microsoft Visual Workbench for Windows, when used with:  Microsoft Visual C++ 1.0 Professional Edition

 Microsoft Visual C++ 1.5 Professional Edition 

-



This article was previously published under Q119161



SYMPTOMS
When a project includes header files that include each other, not all of the dependencies are detected. This can cause the Visual Workbench to report that a source file is up to date when it is not up to date.



RESOLUTION
You may need to include some header files directly in the source file instead of in a header file. Please see the "MORE INFORMATION" section, below, for details.



STATUS
Microsoft has confirmed this to be a bug in the products listed at the beginning of this article. This problem was corrected in Visual C++ version 2.0.

<div class="moreinformation_section">

Situation 1
The problem can be seen in the following situation: // sample1.cpp

#include "sample1.h"

// sample2.cpp

#include "sample2.h"

// sample1.h

#ifndef _SAMPLE1_H #define _SAMPLE1_H #include "sample2.h"  #include "test1.h"   #endif

// sample2.h

#ifndef _SAMPLE2_H #define _SAMPLE2_H #include "sample1.h"  #include "test2.h"   #endif

// test1.h // nothing required for this sample.

// test2.h // nothing required for this sample. The dependencies generated for this .MAK file will be as follows: SAMPLE1_DEP = \ c:\sample\sample1.h      c:\sample\sample2.h       c:\sample\test2.h       c:\sample\test1.h

SAMPLE2_DEP = \ c:\sample\sample2.h      c:\sample\sample1.h       c:\sample\test2.h

SAMPLE2_DEP should also include c:\sample\test1.h

Situation 2
The correct dependencies are generated when you make the following changes: // sample1.cpp

#include "test2.h"  #include "sample1.h"

// sample2.cpp

#include "test1.h"  #include "sample2.h"

// All other files are unchanged.

Additional query words: 1.00 1.50 1.10

Keywords: kbbug kbfix kbide KB119161

-

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

© Microsoft Corporation. All rights reserved.