Писал int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow).
Попробовал int WINAPI WinMainCRTStartup(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow). Слинковалось конечно, но это не есть гуд. Это вообще, если хотите, не наш метод. Потому что, посути линкер не слушается моих приказов, а я извращаюсь. А сколько еще полезных опций линкера, которые он не будет слушать.
Когда функция (входная) называется WinMain, задаю такую вещь в sources
LINKER_FLAGS= $(LINKER_FLAGS) /subsystem:windows /nodefaultlib /entry:WinMain
build
линкер пишет мне письмо
1> link.exe /out:e:\code\prog\test\access_vio\objfre_wxp_x86\i386\AccessVio.exe /machine:ix86 @e:\code\prog\test\access_vio\objfre_wxp_x86\i386\lnk.rsp
1>Microsoft (R) Incremental Linker Version 9.00.30729.207
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>/subsystem:windows
1>/nodefaultlib
1>/entry:WinMain
1>/MERGE:_PAGE=PAGE
1>/MERGE:_TEXT=.text
1>/SECTION:INIT,d
1>/OPT:REF
1>/OPT:ICF
1>/IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221
1>/INCREMENTAL:NO
1>/release
1>/NODEFAULTLIB
1>/WX
1>/debug
1>/debugtype:cv,fixup,pdata
1>/version:6.1
1>/osversion:6.1
1>/functionpadmin:5
1>/safeseh
1>/nxcompat
1>/merge:.rdata=.text
1>/pdbcompress
1>/STACK:0x40000,0x2000
1>/tsaware
1>/dynamicbase
1>/subsystem:windows,5.01
1>/base:@C:\WinDDK7600.16385.0\bin\coffbase.txt,usermode
1>/entry:WinMainCRTStartup
1>e:\code\prog\test\access_vio\objfre_wxp_x86\i386\accessvio.obj
1>c:\winddk7600.16385.0\lib\wxp\i386\BufferOverflowU.lib
1>c:\winddk7600.16385.0\lib\wxp\i386\advapi32.lib
1>c:\winddk7600.16385.0\lib\wxp\i386\kernel32.lib
1>c:\winddk7600.16385.0\lib\wxp\i386\gdi32.lib
1>c:\winddk7600.16385.0\lib\wxp\i386\user32.lib
1>c:\winddk7600.16385.0\lib\wxp\i386\int64.lib
1>c:\winddk7600.16385.0\lib\wxp\i386\user32.lib
1>c:\winddk7600.16385.0\lib\wxp\i386\sehupd.lib
1>LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup
1>errors in directory e:\code\prog\test\access_vio
1>link : error LNK2001: unresolved external symbol _WinMainCRTStartup
1>e:\code\prog\test\access_vio\objfre_wxp_x86\i386\AccessVio.exe : fatal error LNK1120: 1 unresolved externals
1>e:\code\prog\test\access_vio\objfre_wxp_x86\i386\accessvio.exe : error LNK1120: 1 unresolved externals
Отсюда явно выделяется, что он видит мое "/entry:WinMain", но потом заменяет это дело на "/entry:WinMainCRTStartup".
Что за самоуправство? Не понимаю. Откуда взялось это /entry:WinMainCRTStartup? Где-то ж оно значит написано. И /NODEFAULTLIB второй раз пишет. Первый - мой. А второй....