ID: Q108292
1.00 1.50 1.51 1.52 WINDOWS kbtool kbbuglist
The information in this article applies to:
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.
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.
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++.
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
Last Reviewed: July 23, 1997