Article: Q222005
Product(s): Microsoft C Compiler
Version(s): 6.0
Operating System(s):
Keyword(s): kbCompiler kbMFC kbHWMIPS kbVC600bug kbGrpDSVCCompiler
Last Modified: 12-FEB-2002
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Windows CE Toolkit for Visual C++ 6.0
-------------------------------------------------------------------------------
SYMPTOMS
========
Building a MIPS-based Palm-size PC application that uses floating-point
comparisons may generate errors similar to the following:
project.obj : error LNK2001: unresolved external symbol __ltd
project.obj : error LNK2001: unresolved external symbol __gtd
project.obj : error LNK2001: unresolved external symbol __eqd
CAUSE
=====
The new version of the MIPS compiler for the Palm-size PC incorrectly makes
calls to floating-point comparison functions in later versions of the Windows CE
C run time.
RESOLUTION
==========
Use the /QMOC switch to call the earlier versions of the Windows CE
floating-point comparison functions.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article.
MORE INFORMATION
================
Steps to Reproduce Behavior
---------------------------
The following code fragment generates the errors listed in the SYMPTOMS section:
double a, b;
if ( a < b ) return -1;
if ( a > b ) return 1;
if ( a==b ) return 0;
Additional query words: kbWinCE201
======================================================================
Keywords : kbCompiler kbMFC kbHWMIPS kbVC600bug kbGrpDSVCCompiler
Technology : kbVCsearch kbAudDeveloper kbWinCETKVCSearch kbWinCESearch kbWinCETK600VC
Version : :6.0
Issue type : kbbug
Solution Type : kbnofix
=============================================================================