BUG: Visual Workbench Changes Library Names

Last reviewed: July 22, 1997
Article ID: Q108292
1.00 1.50 1.51 1.52 WINDOWS kbtool kbbuglist

The information in this article applies to:

  • The Visual Workbench included with: Microsoft Visual C++ for Windows, versions 1.0, 1.5, 1.51, and 1.52

SYMPTOMS

The Visual Workbench modifies library names added to the list of input libraries if the library name contains the string "lib" or the string "dll" starting in the second character position in the string. This causes the error L4051, "cannot find library" when linking to libraries from other language products such as FORTRAN.

RESOLUTION

One solution is to put in the full path to library when specifying the input library. The other solution is to use a nonconflicting library name by renaming or copying the library to another filename.

STATUS

Microsoft has confirmed this to be a bug in the products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available. This problem does not occur in the 32-bit editions of Visual C++.

MORE INFORMATION

The problem occurs only when a project is open. The Visual Workbench changes the first letter in the library name to match the memory model. The sixth letter in the library name is changed to match the math option, "7", "e", or "a". For example, "llibfore" becomes "llibfere".

When the library name ends in "lib" or "dll", the math option character may actually be written to the next library name field. For example, "jdll, oldnames" becomes "mdll, eldnames", if medium memory model and emulator math are used.

Perform the following nine steps to demonstrate this problem:

  1. Open a project in the Visual Workbench. 2. Select Options, choose Project, and then choose Compiler Options. 3. Set the memory model to large and the floating-point option to emulator. 4. Choose OK to exit Compiler Options. 5. Choose OK to exit Project Options. 6. Select Options, choose Project, and then choose Linker Options. 7. Add xlibxxx to the list of input libraries. 8. Choose OK to exit Linker Options. 9. Choose OK to exit Project Options.
10. Select Options, choose Project, and then choose Linker Options. 11. Examine the input libraries to see that xlibxxx has changed to llibxex.


Additional reference words: 1.00 1.50 rename
KBCategory: kbtool kbbuglist
KBSubcategory: VWBIss
Keywords : kb16bitonly


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: July 22, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.