Article: Q51636
Product(s): See article
Version(s): 1.00    | 1.02
Operating System(s): MS-DOS | OS/2
Keyword(s): ENDUSER | | mspl13_basic
Last Modified: 21-DEC-1989

Question :

I am writing a C extension for the Microsoft Editor (M). When I link,
I get the following error message:

   c:\usr\lib\CLIBCE.LIB(dos\crt0.asm)
           error  L2044:  __acrtused
           symbol multiply defined, use /NOE  pos
           1CC Record type: 53E4

   LINK : error L2029: Unresolved externals:
   _main in file(s):  c:\usr\lib\CLIBCE.LIB(dos\crt0.asm)
   Two errors were detected.

I am compiling and linking as follows:

   cl /c /Gs /Asfu c_extension.c
   link /NOI /NOE exthdr.obj c_extension.obj, c_extension;

These options seem to be correct according to the Editor manuals. Why
am I getting these linker errors?

Response:

The linker gives these error messages if you are linking with a
run-time function that must be initialized from the C start-up source
code. This start-up source code is not used within a C extension.

The art of writing C extensions for M Version 1.00 is documented in
Chapter 8 of the Editor section of the "CodeView and Utilities,
Microsoft Editor, Mixed-Language Programming Guide," which is included
with C 5.00, C 5.10, Pascal 4.00, FORTRAN 4.10, and MASM 5.10.
References to M Version 1.02 extensions are discussed in Chapter 8 of
the "Microsoft Editor User's Guide," which came with FORTRAN 5.00.

Please contact Microsoft Product Support Services at (800) 454-2030 to
obtain an application note that discusses further techniques of writing C
extensions for the Microsoft Editor.