FIX: Visual Workbench Generates Dependencies for ODL Files

Last reviewed: September 18, 1997
Article ID: Q128603
2.00 2.10 WINDOWS NT kbtool kbfixlist

The information in this article applies to:

  • The Visual Workbench, included with: Microsoft Visual C++, 32-bit Edition, version 2.0 and 2.1

SYMPTOMS

Adding .ODL files to a make file in the Visual Workbench causes the Visual Workbench to unnecessarily generate dependencies for the .ODL file.

CAUSE

An .ODL file included in the project file list typically includes other .ODL files. The Visual Workbench dependency scanner adds a type library target for each .ODL file to the MTL_TLBS target in the project. NMAKE tries to build a type library for every target specified by the MTL_TLBS target.

RESOLUTION

To prevent the Visual Workbench from adding type library targets for each included .ODL file, change the file extensions inside the main .ODL file to something other than ODL.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This problem was fixed in Microsoft Visual C++, 32-bit Edition, version 4.0.

MORE INFORMATION

Consider this .ODL file (MYPROJ.ODL):

   // This is the master ODL file, MYPROJ.ODL
   #include "object1.odl"
   #include "object2.odl"
   // End of MYPROJ.ODL

If MYPROJ.ODL is added to a project's file list, the MTL_TLBS target which is added to the project looks like this:

   MTL_TLBS: $(OUTDIR)\MYPROJ.TLB .\OBJECT1.TLB .\OBJECT2.TLB

NOTE: OBJECT1.TLB and OBJECT2.TLB must exist in order to reproduce this problem, but they do not have to contain .ODL file information for this demonstration.

When the Visual Workbench is used to build the project, only MYPROJ.TLB is built. However, if NMAKE is used to build the project, all three type libraries specified by MTL_TLBS are built.


Additional reference words: 2.00 2.10
KBCategory: kbtool kbfixlist kbbuglist
KBSubCategory: VWBIss
Keywords : kbbuglist kbfixlist kbtool
Version : 2.00 2.10
Platform : NT WINDOWS
Solution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 18, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.