Microsoft KB Archive/85873

From BetaArchive Wiki

BUG: Using the Iostream Library with Alternate Math in C

Q85873

7.00 | 1.00 1.50 MS-DOS | WINDOWS kbprg kbbuglist ---------------------------------------------------------------------- The information in this article applies to: - The C Run-time (CRT) included with: - Microsoft C/C++ for MS-DOS, version 7.0 - Microsoft Visual C/C++ for Windows, versions 1.0 and 1.5 ---------------------------------------------------------------------- SYMPTOMS ======== Linking an application that uses the iostream library with an alternate math library generates the following errors: error L2029: 'FISRQQ': unresolved external error L2029: 'FJSRQQ': unresolved external error L2029: 'FIWRQQ': unresolved external error L2029: 'FIARQQ': unresolved external error L2029: 'FJARQQ': unresolved external error L2029: 'FICRQQ': unresolved external error L2029: 'FJCRQQ': unresolved external error L2029: 'FIDRQQ': unresolved external error L2029: 'FIERQQ': unresolved external RESOLUTION ========== If the source was compiled with /FPa, explicitly link with the emulator or coprocessor library instead of letting the linker choose the alternative math libraries by default. This can be done by adding the /NOD option to the libraries field of the link command line as shown below: link ... ,,, /NOD:libca libc ... Where is memory model: s, m, c, or l. is math option: e or 7 -or- Recompile with /FPi or /FPi87, rather than /FPa, so that the linker is passed the name of the emulator or coprocessor library. -or- Convert the code so that it does not use the iostream library. STATUS ====== Microsoft has confirmed this to be a problem in the products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. This is not a problem in Visual C++ 32-bit Edition, because /FPa is not supported. MORE INFORMATION ================ The following code example demonstrates this problem: Sample Code ----------- /* Compile options needed: /FPa */ #include void main( ) { float FloatVar=2.718; cout << FloatVar; } Additional reference words: 7.00 1.00 1.50 KBCategory: kbprg kbbuglist KBSubcategory: CRTIss

Keywords : kb16bitonly
Issue type :
Technology : kbVCsearch kbAudDeveloper kbCRT


Last Reviewed: May 5, 2001
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.