Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт янв 22, 2019 8:08 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 4 сообщения ] 
Автор Сообщение
 Заголовок сообщения: Сборка проекта на C++ с GCC 5.4.0
СообщениеДобавлено: Пт дек 21, 2018 11:06 pm 
Не в сети

Зарегистрирован: Пт окт 27, 2017 9:08 pm
Сообщения: 3
Всем доброго времени суток!

Использую Toolchain от Serge последней версии (http://ftp.kolibrios.org/users/Serge/new/Toolchain/), ипри попытке собрать пример hello из "sdk/samples" с поддержкой C++ столкнулся с проблемой отсутствия библиотеки libgcc_eh.a. Если не же включать эту библиотеку в Makefile, то получаю ошибку "/static.lds:12: undefined symbol `__crt_start' referenced in expression". Что можно сделать в этой ситуации?

При попытке сборки с GCC 4.8.5 получаю ту же самую ошибку с отсутствием __crt_start. Makefile выглядит так (взят из примера "hello"):
Спойлер: Показать
Код:
CC = kos32-gcc
LD = kos32-ld

SDK_DIR:= $(abspath ../..)

LDFLAGS = -static -T$(SDK_DIR)/sources/newlib/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) -o hello $(OBJECTS) -lsupc++ -lgcc_eh -lc.dll -lgcc
   objcopy hello -O binary

%.o : %.c Makefile.static $(SOURCES)
   $(CC) $(CFLAGS) $(INCLUDES) -o $@ $<


Вернуться к началу
 Заголовок сообщения: Re: Сборка проекта на C++ с GCC 5.4.0
СообщениеДобавлено: Сб дек 22, 2018 11:57 am 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 426
viewtopic.php?f=33&t=1218&p=71932#p71932


Вернуться к началу
 Заголовок сообщения: Re: Сборка проекта на C++ с GCC 5.4.0
СообщениеДобавлено: Сб дек 22, 2018 2:45 pm 
Не в сети

Зарегистрирован: Пт окт 27, 2017 9:08 pm
Сообщения: 3
Siemargl писал(а):
http://board.kolibrios.org/viewtopic.php?f=33&t=1218&p=71932#p71932

Да, видел. Однако, libgcc_eh.a там всё равно отсутствует, и собрать не получается. Какой порядок линковки библиотек будет правильным для C++ с этой версией GCC?


Вернуться к началу
 Заголовок сообщения: Re: Сборка проекта на C++ с GCC 5.4.0
СообщениеДобавлено: Сб дек 22, 2018 9:43 pm 
Не в сети

Зарегистрирован: Пт окт 27, 2017 9:08 pm
Сообщения: 3
Проблема решена. Makefile, с которым С++ проект собирается и запускается, выглядит так:

Спойлер: Показать
Код:
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 $@ $<


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 4 сообщения ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB