digitalmars.D.learn - Error: undefined symbol: _WinMain 16 When try compile no console
- Marcone (4/6) May 19 2022 Using -L/SUBSYSTEM:windows user32.lib
- Adam D Ruppe (10/11) May 19 2022 you using a main() function right?
- Marcone (5/16) May 19 2022 I am using a main() function.
- Adam D Ruppe (3/7) May 19 2022 Are you using the `-L/entry:mainCRTStartup` or the
- Marcone (2/9) May 19 2022 -L/entry:mainCRTStartup
- Adam Ruppe (2/5) May 19 2022 try the w one too. both doing the same result?
- Marcone (2/8) May 19 2022 Both is doing the same result.
- frame (6/10) May 20 2022 Did you try 2.099 too? Because the default build mode for 32bit
Using -L/SUBSYSTEM:windows user32.lib Error: lld-link: error: undefined symbol: _WinMain 16Error: linker exited with status 1referenced by msvcrt120.lib(msvcrt_stub2.obj):(_WinMainCRTStartup)
May 19 2022
On Thursday, 19 May 2022 at 19:29:25 UTC, Marcone wrote:Using -L/SUBSYSTEM:windows user32.libyou using a main() function right? Please note when compiling on Win64, you need to explicitly list -Lgdi32.lib -Luser32.lib on the build command. If you want the Windows subsystem too, use -L/subsystem:windows -L/entry:mainCRTStartup. If using ldc instead of dmd, use -L/entry:wmainCRTStartup instead of mainCRTStartup; note the "w". see some deets i wrote here http://arsd-official.dpldocs.info/arsd.simpledisplay.html#installation-instructions
May 19 2022
On Thursday, 19 May 2022 at 19:35:20 UTC, Adam D Ruppe wrote:On Thursday, 19 May 2022 at 19:29:25 UTC, Marcone wrote:I am using a main() function. I am compiling on Windows x86 32 bits. I am using DMD 2.100.0 This error is only in version 2.100.0 of DMD.Using -L/SUBSYSTEM:windows user32.libyou using a main() function right? Please note when compiling on Win64, you need to explicitly list -Lgdi32.lib -Luser32.lib on the build command. If you want the Windows subsystem too, use -L/subsystem:windows -L/entry:mainCRTStartup. If using ldc instead of dmd, use -L/entry:wmainCRTStartup instead of mainCRTStartup; note the "w". see some deets i wrote here http://arsd-official.dpldocs.info/arsd.simpledisplay.html#installation-instructions
May 19 2022
On Thursday, 19 May 2022 at 20:20:49 UTC, Marcone wrote:I am using a main() function. I am compiling on Windows x86 32 bits. I am using DMD 2.100.0 This error is only in version 2.100.0 of DMD.Are you using the `-L/entry:mainCRTStartup` or the `L/entry:wmainCRTStartup` ?
May 19 2022
On Thursday, 19 May 2022 at 20:33:34 UTC, Adam D Ruppe wrote:On Thursday, 19 May 2022 at 20:20:49 UTC, Marcone wrote:-L/entry:mainCRTStartupI am using a main() function. I am compiling on Windows x86 32 bits. I am using DMD 2.100.0 This error is only in version 2.100.0 of DMD.Are you using the `-L/entry:mainCRTStartup` or the `L/entry:wmainCRTStartup` ?
May 19 2022
On Thursday, 19 May 2022 at 21:41:50 UTC, Marcone wrote:try the w one too. both doing the same result?Are you using the `-L/entry:mainCRTStartup` or the `L/entry:wmainCRTStartup` ?-L/entry:mainCRTStartup
May 19 2022
On Thursday, 19 May 2022 at 22:13:06 UTC, Adam Ruppe wrote:On Thursday, 19 May 2022 at 21:41:50 UTC, Marcone wrote:Both is doing the same result.try the w one too. both doing the same result?Are you using the `-L/entry:mainCRTStartup` or the `L/entry:wmainCRTStartup` ?-L/entry:mainCRTStartup
May 19 2022
On Thursday, 19 May 2022 at 20:20:49 UTC, Marcone wrote:I am using a main() function. I am compiling on Windows x86 32 bits. I am using DMD 2.100.0 This error is only in version 2.100.0 of DMD.Did you try 2.099 too? Because the default build mode for 32bit was changed to MS-COFF and it smells a litte bit that you have used OMF before. MS-COFF format inserts the reference to the C-runtime library automatically. Try the -m32omf switch.
May 20 2022
On Friday, 20 May 2022 at 13:16:00 UTC, frame wrote:On Thursday, 19 May 2022 at 20:20:49 UTC, Marcone wrote:Now work fine! Thank you.I am using a main() function. I am compiling on Windows x86 32 bits. I am using DMD 2.100.0 This error is only in version 2.100.0 of DMD.Did you try 2.099 too? Because the default build mode for 32bit was changed to MS-COFF and it smells a litte bit that you have used OMF before. MS-COFF format inserts the reference to the C-runtime library automatically. Try the -m32omf switch.
May 20 2022
On Friday, 20 May 2022 at 13:16:00 UTC, frame wrote:On Thursday, 19 May 2022 at 20:20:49 UTC, Marcone wrote:I tried compiling now on x64 without console using -L/SUBSYSTEM:windows user32.lib -L/entry:mainCRTStartup -m64 and it doesn't work. It compiles, but the program does not run afterwards. I also tried to add -m32omf But in this case the compilation error. How to solve this?I am using a main() function. I am compiling on Windows x86 32 bits. I am using DMD 2.100.0 This error is only in version 2.100.0 of DMD.Did you try 2.099 too? Because the default build mode for 32bit was changed to MS-COFF and it smells a litte bit that you have used OMF before. MS-COFF format inserts the reference to the C-runtime library automatically. Try the -m32omf switch.
May 26 2022
On Thursday, 26 May 2022 at 16:56:49 UTC, Marcone wrote:On Friday, 20 May 2022 at 13:16:00 UTC, frame wrote:On Thursday, 19 May 2022 at 20:20:49 UTC, Marcone wrote:I tried compiling now on x64 without console using -L/SUBSYSTEM:windows user32.lib -L/entry:mainCRTStartup -m64 and it doesn't work. It compiles, but the program does not run afterwards. I also tried to add -m32omf But in this case the compilation error. How to solve this?There is no support for OMF for x64, 64bit build is always MS-COFF. If you specify -m64 you will generate x64 MS-COFF files. If you specify -m32mscoff you will generate x86 32bit MS-COFF files. If you specify -m32omf you will generate x86 32bit OMF files. Maybe you need to clear your object files (if any) for a clean build. If you tell the linker to entry on `mainCRTStartup`, it is expected to use that function from a C-runtime linked. As the compiler is free to select a library, this is the possible error source. Try different options for `-mscrtlib=libname` switch. What do you mean by not running? Does it return an error code? (please start it in some debugger)
May 26 2022