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