FIX: L2057 Linking Code Compiled with /Gy into MOVE AppLast reviewed: September 16, 1997Article ID: Q87528 |
5.30 | 5.30
MS-DOS | WINDOWS
kbtool kberrmsg kbbuglist kbfixlist
The information in this article applies to:
SYMPTOMSAn attempt to link an application fails and Microsoft LINK generates the following message:
error L2057: duplicate of "function" with different size found; record ignored CAUSEThe application was built using Microsoft C/C++ version 7.0, the compiler options include /Gy, and the program uses the Microsoft Overlaid Virtual Environment (MOVE).
RESOLUTIONTo work around this problem, perform one of the following three steps:
STATUSMicrosoft has confirmed this to be a problem in LINK version 5.3 for MS-DOS (distributed with C/C++ version 7.0). This problem was corrected in LINK version 5.31.009 for MS-DOS (distributed with the C/C++ version 7.0a patch disk).
MORE INFORMATIONThe /Gy option instructs the compiler to package the function and make it visible to the linker with a COMDAT record. When the error occurs, the function that detects segment overflow counts the continuation blocks for a given COMDAT record twice when it should count them once. The L2057 error occurs when the COMDAT record is at the end of a segment.
|
Additional reference words: 5.30
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |