Сборка проекта на C++ с GCC 5.4.0

High-level languages programming questions
  • Да, видел. Однако, libgcc_eh.a там всё равно отсутствует, и собрать не получается. Какой порядок линковки библиотек будет правильным для C++ с этой версией GCC?
  • Проблема решена. Makefile, с которым С++ проект собирается и запускается, выглядит так:
    Spoiler:

    Code: Select all

    CC = kos32-g++
    LD = kos32-ld 
    
    SDK_DIR:= $(abspath ../..)
    
    LDFLAGS = -static -T$(SDK_DIR)/sources/newlib/app-static.lds
    
    CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32
    
    INCLUDES= -I $(SDK_DIR)/sources/newlib/libc/include
    LIBPATH:= -L $(SDK_DIR)/lib
    
    SOURCES = hello.c	\
    	  $(NULL)
     
    
    OBJECTS =  $(patsubst %.c, %.o, $(SOURCES))
    
    default: hello
    
    hello: $(OBJECTS) Makefile.static
    	$(LD) $(LDFLAGS) $(LIBPATH) -Map hello.map -o hello $(OBJECTS) -lstdc++ -lsupc++ -lc -lgcc -lc
    	objcopy hello -O binary
    
    %.o : %.c Makefile.static $(SOURCES)
    	$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
    
  • А теперь, строка с ld, должна выглядеть так:

    Code: Select all

    $(LD) $(LDFLAGS) $(LIBPATH) -Map hello.map -o hello $(OBJECTS) -lstdc++ -lsupc++ -lgcc -lc.dll
  • Who is online

    Users browsing this forum: No registered users and 2 guests