September 24, 2007
On Mon, 24 Sep 2007 09:48:55 -0400, AndyC <asmith@yahoo.com> wrote:

> I posted how I used Jan Knepper's version of Implib.exe to imp-
> lement the latest GDI+ from the MSSDK over at 'c++.windows.32-
> bits'.  It will probably work for you as well.
>
> Get the program at http://www.digitalmars.com/~jan/

Did that.  Installed in G:\DM\bin.  Renamed implib.ini
to implib_jk.ini and fixed the path to SPPN therein.

> Create an import lib using the program as follows:
>  implib_jk /system /v /suffix /def /test /I. ***.lib
> ***.dll

Did that.

> Be sure you provide the path to all the header files.

There is only wsc.h, which is in the same directory as the
wsc32.dll file, so /I. is fine.

> The resulting ***.lib can then be linked into your project.

Still doesn't work.  I spent the morning starting over with
my Digital Mars 8.25 CD, and going through the tedious
upgrading to 8.50.  I'm wondering if I broke something else
because now I have more errors (below) than I had on Friday.

Got the same .DEF file as Friday:

EXPORTS
   _SioBaud@8 = SioBaud
   _SioBrkSig@8 = SioBrkSig
   _SioCTS@4 = SioCTS
   _SioDCD@4 = SioDCD
...

To answer Walters earlier comment about doing a hex dump of
the .lib file:

00000000: F0 0D 00 00 0A 00 00 05 00 00 00 00 00 00 00 00  p...............
00000010: 80 0C 00 0A 5F 53 69 6F 42 61 75 64 40 38 00 88  ...._SioBaud@8..
00000020: 22 00 00 A0 01 00 0A 5F 53 69 6F 42 61 75 64 40  ".. ..._SioBaud@
00000030: 38 09 77 73 63 33 32 2E 64 6C 6C 07 53 69 6F 42  8.wsc32.dll.SioB
00000040: 61 75 64 00 8A 02 00 00 00 00 00 00 00 00 00 00  aud.............
00000050: 80 0E 00 0C 5F 53 69 6F 42 72 6B 53 69 67 40 38  ...._SioBrkSig@8
00000060: 00 88 26 00 00 A0 01 00 0C 5F 53 69 6F 42 72 6B  ..&.. ..._SioBrk
00000070: 53 69 67 40 38 09 77 73 63 33 32 2E 64 6C 6C 09  Sig@8.wsc32.dll.
00000080: 53 69 6F 42 72 6B 53 69 67 00 8A 02 00 00 00 00  SioBrkSig.......
00000090: 80 0B 00 09 5F 53 69 6F 43 54 53 40 34 00 88 20  ...._SioCTS@4..
000000A0: 00 00 A0 01 00 09 5F 53 69 6F 43 54 53 40 34 09  .. ..._SioCTS@4.
000000B0: 77 73 63 33 32 2E 64 6C 6C 06 53 69 6F 43 54 53  wsc32.dll.SioCTS
...


> A files titled "***.cpp" was also created, may be useful.

#include <windows.h>

int  main ( int, char **, char ** )
{
   SioBaud ( ( int ) 0, ( unsigned ) 0 );
   SioBrkSig ( ( int ) 0, ( char ) 0 );
   SioCTS ( ( int ) 0 );
...
}

link @simple.rsp,simple,simple,wsc32dm.lib,wsc32dm.def,simple.res
OPTLINK (R) for Win32  Release 8.00.1
Copyright (C) Digital Mars 1989-2004  All rights reserved.
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioBaud
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioBrkSig
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioCTS
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDCD
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDSR
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDTR
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDebug
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDone
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioEvent
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioEventChar
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioEventWait
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioFlow
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioGetReg
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioGetc
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioGets
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioInfo
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioKeyCode
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioMessage
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioParms
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioPutc
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioPuts
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRI
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRTS
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRead
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioReset
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRxClear
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRxQue
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioSetInteger
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioStatus
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioTimer
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioTxClear
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioTxQue
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioUnGetc
OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioWinError
simple.obj(simple)
 Error 42: Symbol Undefined _SelectObject@8
simple.obj(simple)
 Error 42: Symbol Undefined _GetStockObject@4
simple.obj(simple)
 Error 42: Symbol Undefined _SetMapMode@8
paint.obj(paint)
 Error 42: Symbol Undefined _ExtTextOutA@32
paint.obj(paint)
 Error 42: Symbol Undefined _SetBkMode@8
paint.obj(paint)
 Error 42: Symbol Undefined _CreateSolidBrush@4
paint.obj(paint)
 Error 42: Symbol Undefined _GetTextMetricsA@8
OPTLINK : Warning 148: USE16/USE32 Mismatch : DGROUP
G:\DM\bin\..\lib\SNN.lib(winstart)
 Error 83: Illegal frame on start address
OPTLINK : Warning 174: 32-bit Segments Inappropriate for 16-bit Segmented output
OPTLINK : Error 81: Cannot EXPORT : SioBaud
OPTLINK : Error 81: Cannot EXPORT : SioBrkSig
OPTLINK : Error 81: Cannot EXPORT : SioCTS
OPTLINK : Error 81: Cannot EXPORT : SioDCD
OPTLINK : Error 81: Cannot EXPORT : SioDSR
OPTLINK : Error 81: Cannot EXPORT : SioDTR
OPTLINK : Error 81: Cannot EXPORT : SioDebug
OPTLINK : Error 81: Cannot EXPORT : SioDone
OPTLINK : Error 81: Cannot EXPORT : SioEvent
OPTLINK : Error 81: Cannot EXPORT : SioEventChar
OPTLINK : Error 81: Cannot EXPORT : SioEventWait
OPTLINK : Error 81: Cannot EXPORT : SioFlow
OPTLINK : Error 81: Cannot EXPORT : SioGetReg
OPTLINK : Error 81: Cannot EXPORT : SioGetc
OPTLINK : Error 81: Cannot EXPORT : SioGets
OPTLINK : Error 81: Cannot EXPORT : SioInfo
OPTLINK : Error 81: Cannot EXPORT : SioKeyCode
OPTLINK : Error 81: Cannot EXPORT : SioMessage
OPTLINK : Error 81: Cannot EXPORT : SioParms
OPTLINK : Error 81: Cannot EXPORT : SioPutc
OPTLINK : Error 81: Cannot EXPORT : SioPuts
OPTLINK : Error 81: Cannot EXPORT : SioRI
OPTLINK : Error 81: Cannot EXPORT : SioRTS
OPTLINK : Error 81: Cannot EXPORT : SioRead
OPTLINK : Error 81: Cannot EXPORT : SioReset
OPTLINK : Error 81: Cannot EXPORT : SioRxClear
OPTLINK : Error 81: Cannot EXPORT : SioRxQue
OPTLINK : Error 81: Cannot EXPORT : SioSetInteger
OPTLINK : Error 81: Cannot EXPORT : SioStatus
OPTLINK : Error 81: Cannot EXPORT : SioTimer
OPTLINK : Error 81: Cannot EXPORT : SioTxClear
OPTLINK : Error 81: Cannot EXPORT : SioTxQue
OPTLINK : Error 81: Cannot EXPORT : SioUnGetc
OPTLINK : Error 81: Cannot EXPORT : SioWinError
simple.obj(simple)
 Error 35: Cannot Reach TARGET from FRAME at Relative 0015FH  from
 Segment _TEXT
 FRAME  = Frame of Group FLAT 0000
 TARGET = External Symbol _AboutDlgProc@16 008BCH
 FIXUPP Type = 32-bit Offset

--- errorlevel 77

#
# Digital Mars makefile for SIMPLE [Win32]
#
# NOTE: Response file (simple.rsp) must NOT end with a carriage return, line feed.
#
# To use: "make -f simple32._d_"
#

CCFLAGS = -c -DWIN32

simple.exe: simple.res simple.obj wsc32dm.def wsc32dm.lib about.obj line.obj paint.obj sioerror.obj
#	link -aa -Tpe c0w32 @simple.rsp ,simple,simple, wsc32bcb.lib cw32 import32,simple32.def,simple.res
	link @simple.rsp,simple,simple,wsc32dm.lib,wsc32dm.def,simple.res

about.obj: about.c about.h
   dmc $(CCFLAGS)  about.c

simple.obj: simple.c simple.h wsc.h
   dmc $(CCFLAGS)  simple.c

sioerror.obj: sioerror.c sioerror.h wsc.h
   dmc $(CCFLAGS)  sioerror.c

paint.obj: paint.c paint.h
   dmc $(CCFLAGS)  paint.c

line.obj: line.c line.h wsc.h
   dmc $(CCFLAGS)  line.c

simple.res: simple.rc
    rcc -dWIN32 -D__NT__ simple.rc
September 26, 2007
Can someone post a working .DEF file please?

I've gotten all of the other errors I was having to go
away but I get this no mater what I do for a .DEF
file:

"Error 52: .DEF Syntax Error" when I try to link.

There can be no .def file at all, or an empty .def file
(zero length) and I get the same error.

I also tried copying the tty.def file from
the sample\COMM section, still same error.


This is what I have, but it doesn't
seem to mater as no file at all gives
"Error 52".  Anyone know what "Error 52" means???

NAME        Simple
DESCRIPTION 'Simple Program'
EXETYPE     NT
CODE        PRELOAD MOVEABLE DISCARDABLE
DATA        PRELOAD MOVEABLE MULTIPLE
STACKSIZE   8192
EXPORTS
   _MainWndProc@1 = MainWndProc
   _AboutDlgProc@2 = AboutDlgProc
   _SioBaud@8 = SioBaud
   _SioBrkSig@8 = SioBrkSig
   _SioCTS@4 = SioCTS
   _SioDCD@4 = SioDCD
   _SioDSR@4 = SioDSR
   _SioDTR@8 = SioDTR
   _SioDebug@4 = SioDebug
   _SioDone@4 = SioDone
   _SioEvent@8 = SioEvent
   _SioEventChar@12 = SioEventChar
   _SioEventWait@12 = SioEventWait
   _SioFlow@8 = SioFlow
   _SioGetReg@8 = SioGetReg
   _SioGetc@4 = SioGetc
   _SioGets@12 = SioGets
   _SioInfo@4 = SioInfo
   _SioKeyCode@4 = SioKeyCode
   _SioMessage@16 = SioMessage
   _SioParms@16 = SioParms
   _SioPutc@8 = SioPutc
   _SioPuts@12 = SioPuts
   _SioRI@4 = SioRI
   _SioRTS@8 = SioRTS
   _SioRead@8 = SioRead
   _SioReset@12 = SioReset
   _SioRxClear@4 = SioRxClear
   _SioRxQue@4 = SioRxQue
   _SioSetInteger@12 = SioSetInteger
   _SioStatus@8 = SioStatus
   _SioTimer@0 = SioTimer
   _SioTxClear@4 = SioTxClear
   _SioTxQue@4 = SioTxQue
   _SioUnGetc@8 = SioUnGetc
   _SioWinError@8 = SioWinError


Linker line in Makefile:
	link @simple.rsp,simple,simple.map,wsc32dm.lib,wsc32dm.def,simple.res


On Mon, 24 Sep 2007 11:04:50 -0400, Bob Paddock <graceindustries@gmail.com> wrote:

> On Mon, 24 Sep 2007 09:48:55 -0400, AndyC <asmith@yahoo.com> wrote:
>
>> I posted how I used Jan Knepper's version of Implib.exe to imp-
>> lement the latest GDI+ from the MSSDK over at 'c++.windows.32-
>> bits'.  It will probably work for you as well.
>>
>> Get the program at http://www.digitalmars.com/~jan/
>
> Did that.  Installed in G:\DM\bin.  Renamed implib.ini
> to implib_jk.ini and fixed the path to SPPN therein.
>
>> Create an import lib using the program as follows:
>>  implib_jk /system /v /suffix /def /test /I. ***.lib
>> ***.dll
>
> Did that.
>
>> Be sure you provide the path to all the header files.
>
> There is only wsc.h, which is in the same directory as the
> wsc32.dll file, so /I. is fine.
>
>> The resulting ***.lib can then be linked into your project.
>
> Still doesn't work.  I spent the morning starting over with
> my Digital Mars 8.25 CD, and going through the tedious
> upgrading to 8.50.  I'm wondering if I broke something else
> because now I have more errors (below) than I had on Friday.
>
> Got the same .DEF file as Friday:
>
> EXPORTS
>     _SioBaud@8 = SioBaud
>     _SioBrkSig@8 = SioBrkSig
>     _SioCTS@4 = SioCTS
>     _SioDCD@4 = SioDCD
> ...
>
> To answer Walters earlier comment about doing a hex dump of
> the .lib file:
>
> 00000000: F0 0D 00 00 0A 00 00 05 00 00 00 00 00 00 00 00  p...............
> 00000010: 80 0C 00 0A 5F 53 69 6F 42 61 75 64 40 38 00 88  ...._SioBaud@8..
> 00000020: 22 00 00 A0 01 00 0A 5F 53 69 6F 42 61 75 64 40  ".. ..._SioBaud@
> 00000030: 38 09 77 73 63 33 32 2E 64 6C 6C 07 53 69 6F 42  8.wsc32.dll.SioB
> 00000040: 61 75 64 00 8A 02 00 00 00 00 00 00 00 00 00 00  aud.............
> 00000050: 80 0E 00 0C 5F 53 69 6F 42 72 6B 53 69 67 40 38  ...._SioBrkSig@8
> 00000060: 00 88 26 00 00 A0 01 00 0C 5F 53 69 6F 42 72 6B  ..&.. ..._SioBrk
> 00000070: 53 69 67 40 38 09 77 73 63 33 32 2E 64 6C 6C 09  Sig@8.wsc32.dll.
> 00000080: 53 69 6F 42 72 6B 53 69 67 00 8A 02 00 00 00 00  SioBrkSig.......
> 00000090: 80 0B 00 09 5F 53 69 6F 43 54 53 40 34 00 88 20  ...._SioCTS@4..
> 000000A0: 00 00 A0 01 00 09 5F 53 69 6F 43 54 53 40 34 09  .. ..._SioCTS@4.
> 000000B0: 77 73 63 33 32 2E 64 6C 6C 06 53 69 6F 43 54 53  wsc32.dll.SioCTS
> ...
>
>
>> A files titled "***.cpp" was also created, may be useful.
>
> #include <windows.h>
>
> int  main ( int, char **, char ** )
> {
>     SioBaud ( ( int ) 0, ( unsigned ) 0 );
>     SioBrkSig ( ( int ) 0, ( char ) 0 );
>     SioCTS ( ( int ) 0 );
> ...
> }
>
> link @simple.rsp,simple,simple,wsc32dm.lib,wsc32dm.def,simple.res
> OPTLINK (R) for Win32  Release 8.00.1
> Copyright (C) Digital Mars 1989-2004  All rights reserved.
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioBaud
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioBrkSig
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioCTS
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDCD
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDSR
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDTR
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDebug
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioDone
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioEvent
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioEventChar
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioEventWait
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioFlow
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioGetReg
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioGetc
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioGets
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioInfo
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioKeyCode
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioMessage
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioParms
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioPutc
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioPuts
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRI
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRTS
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRead
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioReset
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRxClear
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioRxQue
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioSetInteger
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioStatus
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioTimer
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioTxClear
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioTxQue
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioUnGetc
> OPTLINK : Error 180: No Match Found for Export/ENTRY -  : SioWinError
> simple.obj(simple)
>   Error 42: Symbol Undefined _SelectObject@8
> simple.obj(simple)
>   Error 42: Symbol Undefined _GetStockObject@4
> simple.obj(simple)
>   Error 42: Symbol Undefined _SetMapMode@8
> paint.obj(paint)
>   Error 42: Symbol Undefined _ExtTextOutA@32
> paint.obj(paint)
>   Error 42: Symbol Undefined _SetBkMode@8
> paint.obj(paint)
>   Error 42: Symbol Undefined _CreateSolidBrush@4
> paint.obj(paint)
>   Error 42: Symbol Undefined _GetTextMetricsA@8
> OPTLINK : Warning 148: USE16/USE32 Mismatch : DGROUP
> G:\DM\bin\..\lib\SNN.lib(winstart)
>   Error 83: Illegal frame on start address
> OPTLINK : Warning 174: 32-bit Segments Inappropriate for 16-bit Segmented output
> OPTLINK : Error 81: Cannot EXPORT : SioBaud
> OPTLINK : Error 81: Cannot EXPORT : SioBrkSig
> OPTLINK : Error 81: Cannot EXPORT : SioCTS
> OPTLINK : Error 81: Cannot EXPORT : SioDCD
> OPTLINK : Error 81: Cannot EXPORT : SioDSR
> OPTLINK : Error 81: Cannot EXPORT : SioDTR
> OPTLINK : Error 81: Cannot EXPORT : SioDebug
> OPTLINK : Error 81: Cannot EXPORT : SioDone
> OPTLINK : Error 81: Cannot EXPORT : SioEvent
> OPTLINK : Error 81: Cannot EXPORT : SioEventChar
> OPTLINK : Error 81: Cannot EXPORT : SioEventWait
> OPTLINK : Error 81: Cannot EXPORT : SioFlow
> OPTLINK : Error 81: Cannot EXPORT : SioGetReg
> OPTLINK : Error 81: Cannot EXPORT : SioGetc
> OPTLINK : Error 81: Cannot EXPORT : SioGets
> OPTLINK : Error 81: Cannot EXPORT : SioInfo
> OPTLINK : Error 81: Cannot EXPORT : SioKeyCode
> OPTLINK : Error 81: Cannot EXPORT : SioMessage
> OPTLINK : Error 81: Cannot EXPORT : SioParms
> OPTLINK : Error 81: Cannot EXPORT : SioPutc
> OPTLINK : Error 81: Cannot EXPORT : SioPuts
> OPTLINK : Error 81: Cannot EXPORT : SioRI
> OPTLINK : Error 81: Cannot EXPORT : SioRTS
> OPTLINK : Error 81: Cannot EXPORT : SioRead
> OPTLINK : Error 81: Cannot EXPORT : SioReset
> OPTLINK : Error 81: Cannot EXPORT : SioRxClear
> OPTLINK : Error 81: Cannot EXPORT : SioRxQue
> OPTLINK : Error 81: Cannot EXPORT : SioSetInteger
> OPTLINK : Error 81: Cannot EXPORT : SioStatus
> OPTLINK : Error 81: Cannot EXPORT : SioTimer
> OPTLINK : Error 81: Cannot EXPORT : SioTxClear
> OPTLINK : Error 81: Cannot EXPORT : SioTxQue
> OPTLINK : Error 81: Cannot EXPORT : SioUnGetc
> OPTLINK : Error 81: Cannot EXPORT : SioWinError
> simple.obj(simple)
>   Error 35: Cannot Reach TARGET from FRAME at Relative 0015FH  from
>   Segment _TEXT
>   FRAME  = Frame of Group FLAT 0000
>   TARGET = External Symbol _AboutDlgProc@16 008BCH
>   FIXUPP Type = 32-bit Offset
>
> --- errorlevel 77
>
> #
> # Digital Mars makefile for SIMPLE [Win32]
> #
> # NOTE: Response file (simple.rsp) must NOT end with a carriage return, line feed.
> #
> # To use: "make -f simple32._d_"
> #
>
> CCFLAGS = -c -DWIN32
>
> simple.exe: simple.res simple.obj wsc32dm.def wsc32dm.lib about.obj line.obj paint.obj sioerror.obj
> #	link -aa -Tpe c0w32 @simple.rsp ,simple,simple, wsc32bcb.lib cw32 import32,simple32.def,simple.res
> 	link @simple.rsp,simple,simple,wsc32dm.lib,wsc32dm.def,simple.res
>
> about.obj: about.c about.h
>     dmc $(CCFLAGS)  about.c
>
> simple.obj: simple.c simple.h wsc.h
>     dmc $(CCFLAGS)  simple.c
>
> sioerror.obj: sioerror.c sioerror.h wsc.h
>     dmc $(CCFLAGS)  sioerror.c
>
> paint.obj: paint.c paint.h
>     dmc $(CCFLAGS)  paint.c
>
> line.obj: line.c line.h wsc.h
>     dmc $(CCFLAGS)  line.c
>
> simple.res: simple.rc
>      rcc -dWIN32 -D__NT__ simple.rc

September 27, 2007
Bob Paddock wrote:
> This is what I have, but it doesn't
> seem to mater as no file at all gives
> "Error 52".  Anyone know what "Error 52" means???

All linker error messages have more or less helpful explanations at:
http://www.digitalmars.com/ctg/OptlinkErrorMessages.html
September 27, 2007
You have a fairly complex project with a lot of files, and not enough of it is in the posting to see what the problem is, though I suspect the simple.rsp may have an error in its syntax, causing some file other than the .def file from being considered the .def file.

When faced with problems of this nature, the only way to figure out what is going on is to:

1) make a copy of the complete project
2) simplify it by deleting half of it
3) see if that builds
4) if it does build, go to step 2
5) delete the other half, go to step 2

until you have the minimal test case. Then, the source of the problem often becomes glaringly apparent, as there is nothing else.
September 28, 2007
On Thu, 27 Sep 2007 18:43:18 -0400, Walter Bright <newshound1@digitalmars.com> wrote:

> Bob Paddock wrote:
>> This is what I have, but it doesn't
>> seem to mater as no file at all gives
>> "Error 52".  Anyone know what "Error 52" means???
>
> All linker error messages have more or less helpful explanations at:
> http://www.digitalmars.com/ctg/OptlinkErrorMessages.html

I had already looked there before I posted the question.
"Error 52" is in the "less helpful" class.


September 28, 2007
On Thu, 27 Sep 2007 18:47:18 -0400, Walter Bright <newshound1@digitalmars.com> wrote:

> You have a fairly complex project with a lot of files,..
> until you have the minimal test case. Then, the source of the problem often becomes glaringly apparent, as there is nothing else.

Actually I gave up on building the sample at all, went
a head and wrote my application, which linked and compiled
just fine.  No .def file ever appeared, which just confuses
me more as to when the .def file is needed?

How was the conference?


September 28, 2007
Bob Paddock wrote:
> On Thu, 27 Sep 2007 18:43:18 -0400, Walter Bright <newshound1@digitalmars.com> wrote:
> 
>> Bob Paddock wrote:
>>> This is what I have, but it doesn't
>>> seem to mater as no file at all gives
>>> "Error 52".  Anyone know what "Error 52" means???
>>
>> All linker error messages have more or less helpful explanations at:
>> http://www.digitalmars.com/ctg/OptlinkErrorMessages.html
> 
> I had already looked there before I posted the question.
> "Error 52" is in the "less helpful" class.

I agree.
September 28, 2007
Bob Paddock wrote:
> On Thu, 27 Sep 2007 18:47:18 -0400, Walter Bright <newshound1@digitalmars.com> wrote:
> 
>> You have a fairly complex project with a lot of files,..
>> until you have the minimal test case. Then, the source of the problem often becomes glaringly apparent, as there is nothing else.
> 
> Actually I gave up on building the sample at all, went
> a head and wrote my application, which linked and compiled
> just fine.  No .def file ever appeared, which just confuses
> me more as to when the .def file is needed?

Most apps won't need a .def file. You'll need them when creating a dll, though.


> How was the conference?

The feedback we've received has been very positive.
October 03, 2007
On Fri, 28 Sep 2007 14:54:43 -0400, Walter Bright <newshound1@digitalmars.com> wrote:


>>  Actually I gave up on building the sample at all, went
>> a head and wrote my application, which linked and compiled
>> just fine.

With new wsc.dll problem is back, and now its in my
application instead of the sample code. :-(

>> No .def file ever appeared, which just confuses
>> me more as to when the .def file is needed?
>
> Most apps won't need a .def file. You'll need them when creating a dll, though.

Got a new DLL of my serial port library yesterday.

I did this, to make .def and .lib:
 implib_jk /system /v /suffix /def /test /IG:\DM\include\win32 /I. wsc32dm.lib wsc32.dll

When I link with no DEF file I get this:

OPTLINK (R) for Win32  Release 8.00.1
Copyright (C) Digital Mars 1989-2004  All rights reserved.
DMCDebug\RxFilterFrame.obj(RxFilterFrame)
 Error 42: Symbol Undefined _SioDone@4
DMCDebug\RxFilterFrame.obj(RxFilterFrame)
 Error 42: Symbol Undefined _SioPutc@8
DMCDebug\RxFilterFrame.obj(RxFilterFrame)
 Error 42: Symbol Undefined _SioReset@12
DMCDebug\RxFilterFrame.obj(RxFilterFrame)
 Error 42: Symbol Undefined _SioGetc@4
DMCDebug\RxFilterFrame.obj(RxFilterFrame)
 Error 42: Symbol Undefined _SioInfo@4
DMCDebug\RxFilterFrame.obj(RxFilterFrame)
 Error 42: Symbol Undefined _SioBaud@8
DMCDebug\RxFilterFrame.obj(RxFilterFrame)
 Error 42: Symbol Undefined _SioParms@16
DMCDebug\RxFilterFrame.obj(RxFilterFrame)
 Error 42: Symbol Undefined _SioKeyCode@4

--- errorlevel 8

with .def file I get this:

OPTLINK (R) for Win32  Release 8.00.1
Copyright (C) Digital Mars 1989-2004  All rights reserved.
OPTLINK : Error 181: Multiple Matches Found for Export/ENTRY -  : SioBaud
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioBaud
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioBaud@8
OPTLINK : Error 181: Multiple Matches Found for Export/ENTRY -  : SioDone
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioDone
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioDone@4
OPTLINK : Error 181: Multiple Matches Found for Export/ENTRY -  : SioGetc
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioGetc
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioGetc@4
OPTLINK : Error 181: Multiple Matches Found for Export/ENTRY -  : SioInfo
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioInfo
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioInfo@4
OPTLINK : Error 181: Multiple Matches Found for Export/ENTRY -  : SioKeyCode
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioKeyCode
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioKeyCode@4
OPTLINK : Error 181: Multiple Matches Found for Export/ENTRY -  : SioParms
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioParms
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioParms@16
OPTLINK : Error 181: Multiple Matches Found for Export/ENTRY -  : SioPutc
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioPutc
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioPutc@8
OPTLINK : Error 181: Multiple Matches Found for Export/ENTRY -  : SioReset
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioReset
OPTLINK : Error 182: Matches above Export/ENTRY -  : _SioReset@12
OPTLINK : Error 81: Cannot EXPORT : _SioBaud@8
OPTLINK : Error 81: Cannot EXPORT : _SioDone@4
OPTLINK : Error 81: Cannot EXPORT : _SioGetc@4
OPTLINK : Error 81: Cannot EXPORT : _SioInfo@4
OPTLINK : Error 81: Cannot EXPORT : _SioKeyCode@4
OPTLINK : Error 81: Cannot EXPORT : _SioParms@16
OPTLINK : Error 81: Cannot EXPORT : _SioPutc@8
OPTLINK : Error 81: Cannot EXPORT : _SioReset@12

--- errorlevel 32

How can it be both ways?

wsc32dm.def:
EXPORTS
   _SioBaud@8 = SioBaud
   _SioDone@4 = SioDone
   _SioGetc@4 = SioGetc
   _SioInfo@4 = SioInfo
   _SioKeyCode@4 = SioKeyCode
   _SioParms@16 = SioParms
   _SioPutc@8 = SioPutc
   _SioReset@12 = SioReset

This should be all on one one, I broke it up for this message;

echo /NOLOGO /SILENT /NOI /DELEXECUTABLE /EXETYPE:NT
 /su:windows:4.0 /DEBUG /CODEVIEW
 DMCDebug\RxFilterApp.obj DMCDebug\RxFilterFrame.obj,
 DMCDebug\RxFilter.exe,DMCDebug\RxFilter.map,
 "G:\wx286\lib\dmc_lib\" "G:\DM\lib\" wsc32dm.lib [lot more .lib files]
 ...wsock32.lib,wsc32dm.def,DMCDebug\RxFilter.res > RxFilter.cnf

link @RxFilter.cnf

Where am I going wrong here?
October 10, 2007
Bob Paddock wrote:
> Where am I going wrong here?

Try reversing the order of the exports, i.e.:
	EXPORTS
		SioBaud = _SioBaud@8