BUG: LNK2001 When Building Applications for MIPS Palm-size PC That Use Float Comparisons (222005)



The information in this article applies to:

  • Microsoft Windows CE Toolkit for Visual C++ 6.0

This article was previously published under Q222005

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 that this is a bug in the Microsoft products that are 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;
				

Modification Type:MajorLast Reviewed:10/15/2002
Keywords:kbBug kbCompiler KB222005