ID: Q116443
- Microsoft C/C++ for MS-DOS, version 7.0
- Microsoft Visual C++ for Windows, versions 1.0 and 1.5
The OLDNAMES.LIB file was included in C/C++, version 7.0 and later to maintain compatibility with names included in C version 6.0 object modules. The symbol STKHQQ, is part of the stack checking routine in C, version 6.0, but it is not defined in OLDNAMES.LIB. Therefore, the linkers included with C/C++, version 7.0, and Visual C++ will generate error message L2029, "unresolved external", for STKHQQ if C version 6.0 objects modules are used.
Rebuild the C version 6.0 object module with the later version of the compiler that you are using.
NOTE: If the object module is from a third party library, contact the provider of the library and get an updated library which is not based on C6. Alternatively, a corrected version of OLDNAMES.LIB can be created from the C Run-Time source. The source to OLDNAMES.LIB is OLDNAMES.ASM in the CRT\HELPER directory. Add the following line:
alias <STKHQQ> = <_STKHQQ>
and then reassemble OLDNAMES.ASM with MASM 6.0 or later. Use LIB to create
a library from the new OLDNAMES.OBJ file.
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.
Keywords : kb16bitonly kbCRT kbVC kbbuglist
Version : 7.0 | 1.00 1.50
Platform : WINDOWS
Issue type : kbbug
Last Reviewed: July 26, 1997