Microsoft KB Archive/43564

= L2025: Symbol Already Defined Error Caused by SIGNAL.H in .QLB =

Article ID: 43564

Article Last Modified on 11/21/2006



This article was previously published under Q43564



SYMPTOMS
LINKing C subfunctions into a QuickBasic Quick library (.QLB) may generate many &quot;L2025: Symbol defined more than once&quot; errors. This can be caused when the C subfunction is compiled with the SIGNAL.H C include file that comes with Microsoft QuickC version 2.00 and Microsoft C Compiler versions 5.00, 5.10, and 6.00.

If the SIGNAL.H include file is not used, or if the C subfunction is directly LINKed to the Basic program when producing an .EXE file, the errors do not occur.



STATUS
Microsoft has confirmed this to be a bug in Microsoft QuickBasic versions 4.00, 4.00b, and 4.50; in Microsoft Basic Compiler versions 6.00 and 6.00b (buglist6.00, buglist6.00b); and in Microsoft Basic Professional Development System (PDS) versions 7.00 and 7.10 (buglist7.00, buglist7.10). We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.



MORE INFORMATION
Below is the source code that, when LINKed into a Quick library, will create the &quot;Symbol defined more than once&quot; errors.

C Routine
/* SIGNAL.C */ /* Demonstration of signal.h failing with QuickBasic 4.50 */


 * 1) include 

int handler { } void far testc {   signal(SIGINT, handler); }

Link Command
LINK /Q SIGNAL.OBJ,,,BQLB45.LIB;

The Quick library support module used in the above LINK line should be BQLB45.LIB in QuickBasic 4.50, BQLB41.LIB in QuickBasic 4.00b or Basic Compiler 6.00b, BQLB40.LIB in QuickBasic 4.00 or Basic Compiler 6.00, and QBXQLB.LIB in Basic PDS 7.00 or 7.10.

Additional query words: QuickBas BasicCom buglist4.00 buglist4.00b buglist4.50

Keywords: KB43564

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.