FIX: FILE: MFC Browser Library (MFC.BSC) Is Incomplete

ID: Q167734


The information in this article applies to:


SUMMARY

The MFC browser library (MFC.BSC) that ships with Visual C++ is incomplete. The browser cannot find some symbols in MFC (for example, References to CDC::m_hDC).

There are two self-extracting files included in this article. They both contain Mfc.bsc files.

Mfcbsc1.exe contains Mfc.bsc file created with Devstudio installed under the root directory of a drive. If you have installed Devstudio under the root directory of a drive, then download this file.

Mfcbsc2.exe contains Mfc.bsc file created with Devstudio installed under Program Files directory. If you chose the default directory while installing Devstudio, then download this file.

If you have installed Devstudio in a path that does not match any of the above two, then download any one of the files and put it in the <Drive>:\<Devstudio directory path>\vc\mfc\src directory. When you open the browse file and search for a symbol, the browser will not be able to find the sources. However, it will prompt you for the path and from then on it should be able to find the sources. This happens every time you open the browse file.

Copy the .exe to the <drive>:<Devstudio directory path>\vc\mfc\src and execute it. It should extract mfc.bsc file in that directory.

The following files are available for download from the Microsoft Software Library:

~ Mfcbsc1.exe ~ Mfcbsc2.exe
For more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:
Q119591 How to Obtain Microsoft Support Files from Online Services


MORE INFORMATION

Alternatively, you can rebuild the MFC browser library (MFC.BSC) on your machine. First you must have the MFC source files installed.

Follow this procedure:

  1. Verify that you have around 400 megabytes of free disk space on the drive where Visual C++ is installed. This much space is required to build the browse information. 358 megabytes is used by the .SBR files. The .SBR files can be freed once the browser database has been built. Temp files require the additional space. Temp files are automatically deleted.


  2. From a Command Prompt, run the Vcvars32.Bat which should be in the <drive>:<DevStudio directory path>\vc\bin to set the proper environment variables. Change to the <drive>:<Devstudio directory path>\Vc\Mfc\Src directory, and build the browse information by running the nmake on the makefile as follows:
    nmake browseonly=1 no_pch=1 no_pdb=1 dll=2
    This creates NafxeWD.bsc file and a subdirectory called $DLLD.W with .SBR files.


  3. Provided you do not plan to rebuild the browse database frequently, remove all files in the $DLLD.W directory, and then remove the directory itself. The intermediate .SBR files occupy roughly 358 megabytes of disk space and are not required to use the browser.


  4. You can rename the new browse file to Mfc.bsc from NafxeWD.bsc.


To use the browser file, start Visual C++, and click Open on the File menu. Choose the .BSC file that you just created. Click Tools, and then click Source Browser. The Browser window appears and you can look up any of the MFC functions or data variables.


REFERENCES

For more information about how to build the MFC.BSC library, please see the following articles in the Microsoft Knowledge Base:

Q98656 Creating a Browser Library for the Foundation Classes Additional

Q138326 HOWTO: Create a Browser Library for the Common Control Classes


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 Visual C++ version 6.0.

Additional query words: mfc browser mfc.bsc


Keywords          : kbMFC kbVC500bug kbVC600fix 
Version           : 
Platform          : NT WINDOWS 
Issue type        : kbbug 

Last Reviewed: July 23, 1999