FIX: Dependencies May Not Be DetectedLast reviewed: September 18, 1997Article ID: Q119161 |
1.00 1.50 | 1.00
WINDOWS | WINDOWS NTkbtool kbfixlist kbbuglist The information in this article applies to:
SYMPTOMSWhen 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.
RESOLUTIONYou 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.
STATUSMicrosoft 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.
MORE INFORMATION
Situation 1The 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.hSAMPLE2_DEP should also include c:\sample\test1.h
Situation 2The 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 reference words: 1.00 1.50 1.10
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |