FIX: L2025 Error on CWnd::DoDataExchange or CObject::Serialize |
Q134984
1.50 1.51 1.52 WINDOWS kbprg kbbuglist kbfixlist kberrmsgLarge MFC applications built for DEBUG may generate the following error messages:
This problem occurs only when building a standalone MFC application for DEBUG.c:\msvc\mfc\lib\lafxcwd.lib(afxinl1.cpp) : error L2025 :
DoDataExchange@CWnd@@NECXPAVCDataExchange@@@Z : symbol defined more than once
c:\msvc\mfc\lib\lafxcwd.lib(afxinl1.cpp) : error L2025 :
Serialize@CObject@@VECXAEVCArchive@@@Z : symbol defined more than once
This problem is due to the fact that these functions were defined differently in Vbcore.obj. Vbcore.obj is the module that encapsulates MFC's VBX emulation layer. The problem occurs when the linker picks up the CWnd::DoDataExchange or CObject::Serialize functions from Vbcore.obj, which has the undesirable version.
To work around this problem, extract the file Afxinl1.obj from the file Lafxcwd.lib and add it to the miscellaneous link options for the debug build of the project. To extract the file, use the Lib.exe utility with the following command-line arguments:
LIB LAFXCWD.LIB *AFXINL1.OBJ ;To add the file (Msvc\Mfc\Lib\Afxinl1.obj) to the miscellaneous link options, follow these steps:
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. The problem with CObject::Serialize was corrected in Visual C++ version 1.52 for Windows, and the problem with CWnd::DoDataExchange was corrected in Visual C++ version 1.52b for Windows.
Additional query words: 1.50 1.51 1.52 2.50 2.51 2.52 5.50 5.60
Keywords : kb16bitonly kbVC150 kbVC151 kbVC152 kbGrpDSMFCATL kbNoUpdate
Issue type : kbbug
Technology : kbAudDeveloper kbMFC
|
Last Reviewed: May 8, 2001 © 2001 Microsoft Corporation. All rights reserved. Terms of Use. |