FIX: Files in External Dependencies Folder Don't Persist

ID: Q182937


The information in this article applies to:
  • The Development Environment, included with:
    • Microsoft Visual C++, 32-bit Editions, version 5.0


SYMPTOMS

No files appear in the External Dependencies folder until you export a makefile or rebuild the project.

When you close the workspace, the dependency information is not saved.

When you edit a header file and build the project, the header file is saved but no files are compiled.


CAUSE

The program database (a .pdb file) has been given a name without an extension or a trailing slash (\).

For example, on the Project menu, click Settings. Click the C/C++ tab; in the Project Options edit box you see a switch similar to the following:


   /Fd"Debug\mypdb" 


RESOLUTION

If you want to name the .pdb file, then append the .pdb extension to the name:


   /Fd"Debug\mypdb.pdb" 
If you want to specify the directory in which to place the VC50.pdb file, then append a trailing slash to the name:

   /Fd"Debug\mypdb\" 


STATUS

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


MORE INFORMATION

It is normal for project dependency information not to be available until the project is built or until a makefile is exported. However, when a project is built with the /FD switch, the compiler creates a file that contains the dependency information for the project. This file has the same base name as the program database (.pdb) file. By default, the file is VC50.idb.

Once a project is built, Developer Studio uses the dependency information from the .idb file (unless you encounter this bug).

If you export a makefile, an .idb file is not generated. Dependency information generated to export the makefile is lost when you close the workspace. This is by design.

Steps to Reproduce Behavior

  1. Build a project.


  2. On the Project menu, click Settings. Click the C/C++ tab, and in the Project Options edit box, name the .pdb file without an extension. For example, in a sample named AutoBld, you would use the following switch:
    
          /Fd"Debug/AutoBld" 


  3. Make a change to a header file.


  4. Build the project.
    
          Result: 0 error(s), 0 warning(s)
    
          Expected: something should compile 


To work around this bug, use one of the following:

   /Fd"Debug/AutoBld.pdb" 
-or-

   /Fd"Debug/AutoBld/" 

Additional query words:

Keywords : kbide kbVC kbVC500bug kbVC600fix kbGrpDSTools
Version : WINNT:5.0
Platform : winnt
Issue type : kbbug


Last Reviewed: August 8, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.