ogbreaks
ogbreaks

Reputation: 11

My project build is failing to compile with gcc - WinMain issue?

Makefile is not working as expected. Compiling in windows with MSYS2 MinGW 64-bit - LDFLAGS is causing issue and I've tried two options.....

LDFLAGS = -lSDL2 -lncursesw -mconsole

and currently...

LDFLAGS = -lSDL2 -lncursesw -Wl,-e,mainCRTStartup
CFLAGS = -Wall -I/mingw64/include/SDL2 -I/mingw64/include/ncursesw
CC = gcc

all: tracker

tracker: main.o chip.o gui.o
    $(CC) -o $@ $^ $(LDFLAGS)

%.o: %.c stuff.h Makefile
    $(CC) $(CFLAGS) -c $< -o $@

clean:
    rm -f *.o tracker

.PHONY: all clean

error from MSYS2 MinGW 64-bit Terminal is:

gcc -o tracker main.o chip.o gui.o -lSDL2 -lncursesw -mconsole
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../lib/libmingw32.a(lib64_libmingw32_a-crtexewin.o): in function `main':
C:/M/B/src/mingw-w64/mingw-w64-crt/crt/crtexewin.c:67:(.text.startup+0xc5): undefined reference to `WinMain'
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:8: tracker] Error 1

and in the second case

gcc -o tracker main.o chip.o gui.o -lSDL2 -lncursesw -Wl,-e,mainCRTStartup
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../lib/libmingw32.a(lib64_libmingw32_a-crtexewin.o): in function `main':
C:/M/B/src/mingw-w64/mingw-w64-crt/crt/crtexewin.c:67:(.text.startup+0xc5): undefined reference to `WinMain'
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:8: tracker] Error 1

Tried two different approaches with the lines of code as above.

Upvotes: 1

Views: 43

Answers (0)

Related Questions