<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>-gui isn't quite working for you, for reasons I can't fully tell from here.<BR>
 <BR>
If -entry:WinMainCRTStartup, as you show, then link -dump -symbols _m3main.obj | findstr /i main should find WinMain, and not main. These two things must be altered together. Subsystem usually changes with them as well, but that's optional. WinMainCRTStartup calls WinMain, mainCRTStartup calls main, etc. (also with "w" prepended for Unicode/wide)<BR>
This is up to cm3 and cm3.cfg to cooperate on.<BR>
 <BR>
I can check tonight if it works for me. Could be some config file content missing.<BR>
It should generate WinMain instead of main.<BR>
 <BR>
You don't have the latest config because if you did, the link command you show below would list "hand.obj" among the list of files.<BR>
 <BR>
e.g.<BR>
 copy /y %cvsroot%\m3-sys\cminstall\src\config\nt386* \cm3\bin <BR>
 copy /y \cm3\bin\NT386 \cm3\bin\cm3.cfg  <BR>
 <BR>
or:<BR>
 copy /y %cvsroot%\m3-sys\cminstall\src\config\* \cm3\bin <BR>
 copy /y %cvsroot%\m3-sys\cminstall\src\config-no-install\* \cm3\bin <BR>
 <BR>
The second form requires %cvsroot% to stick around and be findable by \cm3\bin\cm3.cfg, such as by setting CM3_ROOT.<BR>
The first form does not have such a requirement.<BR>
 <BR>
I'm really not super keen on supporting any config files other than the exact ones checked in.<BR>
Not even necessarily the ones produced by cminstall; I never use it.<BR>
I realize there are multiple reasonable modes of operation -- either using %PATH%, %INCLUDE%, and %LIB%, or using full paths in cm3.cfg. I use the first, so I can switch between toolsets more easily, and have no problem with spaces (which I don't have anyway), cminstall uses the second so that the result doesn't depend on the environment but it also has problems with spaces. Depending on short names like "progra~1" is just not the way imho.<BR>
 <BR>
 - Jay<BR>
<BLOCKQUOTE>
<HR id=EC_stopSpelling>
Date: Mon, 5 May 2008 22:08:29 -0400<BR>From: rcoleburn@scires.com<BR>To: m3devel@elegosoft.com<BR>Subject: Re: [M3devel] new problem linking on NT386<BR><BR>
<META content="Microsoft SafeHTML" name=Generator>
<DIV>Jay:</DIV>
<DIV> </DIV>
<DIV>No, I am using the -gui option in the m3makefile.  It is a windows gui application.</DIV>
<DIV> </DIV>
<DIV>Here is the output of the command you suggested:</DIV>
<DIV> </DIV>
<DIV>Microsoft (R) COFF/PE Dumper Version 9.00.21022.08<BR>Copyright (C) Microsoft Corporation.  All rights reserved.</DIV>
<DIV> </DIV>
<DIV><BR>Dump of file NT386\_m3main.obj</DIV>
<DIV> </DIV>
<DIV>File Type: COFF OBJECT</DIV>
<DIV> </DIV>
<DIV>COFF SYMBOL TABLE<BR>000 00000000 DEBUG  notype       Filename     | .file<BR>    _m3main.mc<BR>002 00000000 SECT1  notype       Static       | .text<BR>    Section length   50, #relocs    4, #linenums    7, checksum        0<BR>004 00000000 SECT2  notype       Static       | .data<BR>    Section length   10, #relocs    3, #linenums    0, checksum        0<BR>006 00000000 SECT3  notype       Static       | .bss<BR>    Section length    0, #relocs    0, #linenums    0, checksum        0<BR>008 00000000 SECT1  notype ()    External     | _main<BR>    tag index 0000000A size 00000050 lines 00000104 next function 00000000<BR>00A 00000000 SECT1  notype       BeginFunction | .bf<BR>    line# 0000 end 00000000<BR>00C 00000007 SECT1  notype       .bf or.ef    | .lf<BR>00D 00000050 SECT1  notype       EndFunction  | .ef<BR>    line# 0006<BR>00F 00000000 SECT1  notype       Static       | TextSegment<BR>010 00000000 UNDEF  notype       External     | _Main_M3<BR>011 00000000 UNDEF  notype       External     | _RTLinker__InitRuntime<BR>012 00000000 UNDEF  notype       External     | _RTLinker__AddUnit<BR>013 00000000 UNDEF  notype       External     | _RTProcess__Exit<BR>014 00000004 SECT2  notype       Static       | T$14</DIV>
<DIV> </DIV>
<DIV>String Table Size = 0x4B bytes</DIV>
<DIV> </DIV>
<DIV>  Summary</DIV>
<DIV> </DIV>
<DIV>           0 .bss<BR>          10 .data<BR>          50 .text<BR></DIV>
<DIV>As you can see, I have an</DIV>
<DIV>   _main  and a</DIV>
<DIV>   _Main_M3</DIV>
<DIV> </DIV>
<DIV>Not sure what you mean by saying I am missing hand.obj.  I have rebuilt everything using latest CVS update.  Please elaborate.</DIV>
<DIV> </DIV>
<DIV>Regards,</DIV>
<DIV>Randy<BR><BR>>>> Jay <jayk123@hotmail.com> 5/5/2008 9:47 PM >>><BR>Sounds like you missed the "gui" switch on the cm3 command line<BR>or in the m3makefile -- in the m3makefile really.<BR>Putting it on the command line imho is only reasonable for those<BR>simple cases that don't have an m3makefile<BR><BR> link -dump -symbols NT386\_m3main.obj | findstr /i main <BR><BR>?<BR>I expect you will have main or wmain, but not WinMain or wWinMain.<BR> <BR>Is this meant to be a gui app or a command line app?<BR>If it is meant to be a command line, then the problem is something else.<BR>  And I don't even want to explain..<BR>Can you send me the source?<BR> <BR>Also you are missing hand.obj here, so you don't have the potential pixmap fix.<BR><BR> - Jay<BR><BR></DIV>
<BLOCKQUOTE>
<HR id=EC_EC_stopSpelling>
Date: Mon, 5 May 2008 21:01:10 -0400<BR>From: rcoleburn@scires.com<BR>To: m3devel@elegosoft.com<BR>Subject: [M3devel] new problem linking on NT386<BR><BR>
<DIV>I've rebuild my cm3 system using the latest sources.</DIV>
<DIV> </DIV>
<DIV>I am now having a failure linking certain programs that used to build without problems.</DIV>
<DIV> </DIV>
<DIV>I've listed the linker output from one of the programs below.  The issue seems to be an unresolved external symbol <A href="mailto:_WinMain@16">_WinMain@16</A> .</DIV>
<DIV> </DIV>
<DIV>Any ideas on what has changed and how to get this working again?</DIV>
<DIV> </DIV>
<DIV>Microsoft (R) Incremental Linker Version 9.00.21022.08<BR>Copyright (C) Microsoft Corporation.  All rights reserved.</DIV>
<DIV> </DIV>
<DIV>/out:CV_MessageTool.exe <BR>/subsystem:windows <BR>/entry:WinMainCRTStartup <BR>/nodefaultlib <BR>/debug <BR>/incremental:no <BR>/opt:ref <BR>/delayload:wsock32.dll <BR>/delayload:advapi32.dll <BR>/delayload:gdi32.dll <BR>/delayload:netapi32.dll <BR>/delayload:user32.dll <BR>/delayload:comctl32.dll <BR>delayimp.lib <BR>_m3main.obj <BR>iconRes.obj <BR>Resources.io <BR>Resources.mo <BR>Main.mo <BR>C:\cm3\pkg\windowsResources\NT386\windowsResources.lib <BR>C:\cm3\pkg\libSciRes3\NT386\libSciRes3.lib <BR>C:\cm3\pkg\stable\NT386\stable.lib <BR>C:\cm3\pkg\serial2\NT386\serial2.lib <BR>C:\cm3\pkg\netobj\NT386\m3netobj.lib <BR>C:\cm3\pkg\parseparams\NT386\m3parseparams.lib <BR>C:\cm3\pkg\formsvbt\NT386\m3formsvbt.lib <BR>C:\cm3\pkg\videovbt\NT386\videovbt.lib <BR>C:\cm3\pkg\jvideo\NT386\jvideo.lib <BR>C:\cm3\pkg\web\NT386\web.lib <BR>C:\cm3\pkg\tcp\NT386\m3tcp.lib <BR>C:\cm3\pkg\formsvbtpixmaps\NT386\m3formsvbtpixmaps.lib <BR>C:\cm3\pkg\vbtkit\NT386\m3vbtkit.lib <BR>C:\cm3\pkg\ui\NT386\m3ui.lib <BR>C:\cm3\pkg\libm3\NT386\m3.lib <BR>C:\cm3\pkg\m3core\NT386\m3core.lib <BR>winspool.lib <BR>comctl32.lib <BR>wsock32.lib <BR>comdlg32.lib <BR>netapi32.lib <BR>gdi32.lib <BR>user32.lib <BR>advapi32.lib <BR>kernel32.lib <BR>msvcrt.lib <BR>LINK : warning LNK4199: /DELAYLOAD:wsock32.dll ignored; no imports found from wsock32.dll<BR>LINK : warning LNK4199: /DELAYLOAD:advapi32.dll ignored; no imports found from advapi32.dll<BR>LINK : warning LNK4199: /DELAYLOAD:gdi32.dll ignored; no imports found from gdi32.dll<BR>LINK : warning LNK4199: /DELAYLOAD:netapi32.dll ignored; no imports found from netapi32.dll<BR>LINK : warning LNK4199: /DELAYLOAD:user32.dll ignored; no imports found from user32.dll<BR>LINK : warning LNK4199: /DELAYLOAD:comctl32.dll ignored; no imports found from comctl32.dll<BR>msvcrt.lib(crtexew.obj) : error LNK2019: unresolved external symbol <A href="mailto:_WinMain@16">_WinMain@16</A> referenced in function ___tmainCRTStartup<BR>CV_MessageTool.exe : fatal error LNK1120: 1 unresolved externals<BR></DIV>
<DIV>Regards,</DIV>
<DIV>Randy</DIV></BLOCKQUOTE></BLOCKQUOTE></body>
</html>