binutils-2.24 для Колибри
для работы требуется Shell не ниже #5210 и длл из http://ftp.kolibrios.org/users/Serge/ne ... 6_12_14.7z
В состав входят ar as objcopy ld и strip.
Toolchain
-
Last edited by Serge on Sat Dec 06, 2014 1:13 pm, edited 2 times in total.
.
Last edited by Mario_r4 on Sun Jan 04, 2015 10:05 pm, edited 1 time in total.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Binutils для Колибри готовы. Ссылки в топике. LD скомпилирован и слинкован в Колибри.
Настраиваю по этой статье.
http://habrahabr.ru/company/kolibrios/blog/229231/
Выполняю в командной строке:
Получаю ошибку:
Из-за чего может быть?
http://habrahabr.ru/company/kolibrios/blog/229231/
Выполняю в командной строке:
Code: Select all
cd d:/kolibri/contrib/sdk/sources/newlib/libc
export PATH=$PATH:d:/Programming/mingw/msys/1.0/home/autobuild/tools/bin
make shared
make install
Code: Select all
kos32-ld.exe: cannot find -lgcc
make *** [libc.dll] Error 1
Из-за чего может быть?
Чудеса случаются! Это вам любой программист скажет!
оппа, интересно. я давно не пересобирал newlib. сегодня попробую вечером/ночью дома.
он ключ -lgcc вроде не находит.. А если его из Makefile убрать, то всё равно не работает
Чудеса случаются! Это вам любой программист скажет!
Путь указан неправильно. Надо /home/autobuild/tools/win32/bin
В tools у меня нет папки win32/binSerge wrote:Путь указан неправильно. Надо /home/autobuild/tools/win32/bin
Чудеса случаются! Это вам любой программист скажет!
Простите за поздний ответ. Вот так всегда: пообещаешь что-то сделать вечером и исчезаешь на все выходные.
Проверил по этой статье:
http://habrahabr.ru/company/kolibrios/blog/229231/
все скомпилировалось как и раньше, нареканий на исходники или работоспособность toolchain нет.
Nikolai1, прошу еще раз обратить внимание на эти пункты:
После установки MinGW перейти в папку c:\MinGW\msys\1.0 и создать в ней дерево папок home\autobuild\tools
• Распаковать msys-kos32-x.x.x.7z в c:\MinGW\msys\1.0\home\autobuild\tools
(если все сделано правильно, файл kos32-gcc.exe должен находиться по пути c:\MinGW\msys\1.0\home\autobuild\tools\win32\bin\kos32-gcc.exe)
• Проверить работоспособность toolchain можно запустив c:\MinGW\msys\1.0\msys.bat
в командной строке набрать
Проверил по этой статье:
http://habrahabr.ru/company/kolibrios/blog/229231/
все скомпилировалось как и раньше, нареканий на исходники или работоспособность toolchain нет.
Nikolai1, прошу еще раз обратить внимание на эти пункты:
После установки MinGW перейти в папку c:\MinGW\msys\1.0 и создать в ней дерево папок home\autobuild\tools
• Распаковать msys-kos32-x.x.x.7z в c:\MinGW\msys\1.0\home\autobuild\tools
(если все сделано правильно, файл kos32-gcc.exe должен находиться по пути c:\MinGW\msys\1.0\home\autobuild\tools\win32\bin\kos32-gcc.exe)
• Проверить работоспособность toolchain можно запустив c:\MinGW\msys\1.0\msys.bat
в командной строке набрать
Да ладно) бываетПростите за поздний ответ. Вот так всегда: пообещаешь что-то сделать вечером и исчезаешь на все выходные.
Ошибка у меня была именно в этом! Неправильно распаковал!если все сделано правильно, файл kos32-gcc.exe должен находиться по пути c:\MinGW\msys\1.0\home\autobuild\tools\win32\bin\kos32-gcc.exe
Спасибо огромное!!! ошибка, как всегда, из-за моей невнимательности
Чудеса случаются! Это вам любой программист скажет!
Так, пока появилось свободное время пробую снова компилировать код по статье...
cd d:/work
make
Пишет, что "stdlib.h" No such file or directory. Пути все вроде верно прописаны. В чём может быть ошибка?
cd d:/work
make
Пишет, что "stdlib.h" No such file or directory. Пути все вроде верно прописаны. В чём может быть ошибка?
Чудеса случаются! Это вам любой программист скажет!
Nikolai1,
-открой файл Makefile
-посмотри на переменную
-открой файл Makefile
-посмотри на переменную
-убедись, что путь к содержимому contrib верныйSDK_DIR:= /d/kolibri/contrib/sdk
Актуальные компоненты libc находятся в svn репозитории KolibriOS, путь (root)/contrib/sdk/sources/newlib
Также можно воспользоваться веб интерфейсом KolibriOS.org в разделе SVN и скачать соответствующий архив.
Внимание, в в данной статье предполагается, что установка newlib произведена в d:\kolibri\contrib\sdk\sources\newlib
Появилось время, снова настраивал компилятор. Получилось скомпилировать несколько файлов на C++. Но теперь обнаружилась другая проблема:
При динамическом выделении памяти C++ компилятор страшно ругается непонятными словами
Если написать:
то получаются вот такие ошибки:
Мой Makefile такой:
а запускаю его из bat файла
clean.bat
При динамическом выделении памяти C++ компилятор страшно ругается непонятными словами
Если написать:
Code: Select all
int* a = new int;
// или
int* b = new int(10);
Code: Select all
undefined reference to '__gthr_win32_mutex_destroy'
undefined reference to '__gthr_win32_mutex_lock'
Spoiler:
Code: Select all
EXEC = main
LIB_SOURCE = lib/application.o lib/kos2win.o
FUNCTIONS_SOURCE = lib/functions/functions.o
CLASSES_SOURCE = lib/classes/mstring.o
CONTROLS_SOURCE = lib/controls/control.o lib/controls/button.o lib/controls/window.o
SOURCE = $(CLASSES_SOURCE)
CC = kos32-gcc
LD = kos32-ld
OBJCOPY = kos32-objcopy
SDK_DIR:= /d/kolibri/contrib/sdk
LDFLAGS = -static -S -nostdlib -T$(SDK_DIR)/sources/newlib/app.lds -Map $(EXEC).map --image-base 0
CFLAGS = -c -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 -L/home/autobuild/tools/win32/mingw32/lib
export PATH=$PATH:/home/autobuild/tools/win32/bin:/MinGW/bin
default: $(EXEC)
clean:
$(EXEC): $(SOURCE) $(EXEC).o makefile
#$(LD) $(LDFLAGS) $(LIBPATH) -o $(EXEC) *.o -lgcc -lapp -lc.dll
$(LD) $(LDFLAGS) $(LIBPATH) -o $(EXEC) *.o $(SOURCE) -lapp -lsupc++ -lgcc_eh -lc.dll -lgcc
$(OBJCOPY) $(EXEC) -O binary
%.o : %.cpp makefile
$(CC) $(CFLAGS) $(INCLUDES) -o $@ $<
Code: Select all
D:\mingw\msys\1.0\bin\make.exe -s
clean.bat
pause
Spoiler:
Code: Select all
del *.o
del *.map
cd lib
del *.o
cd classes
del *.o
cd ..
cd controls
del *.o
pause
Чудеса случаются! Это вам любой программист скажет!
gthr_win32_mutex_destroy должна быть в libsupc++
Есть информация откуда идёт undefined reference ?
Есть информация откуда идёт undefined reference ?
Вот скриншот окна с ошибками.
Надоели уже эти компиляторы... вечно с ними проблемы (или у меня криворукость повышенная)
Может быть скачать другую libsupc++?Serge wrote:gthr_win32_mutex_destroy должна быть в libsupc++
Надоели уже эти компиляторы... вечно с ними проблемы (или у меня криворукость повышенная)
- Attachments
-
-
cmd.png (20.73 KiB)Скриншот окна Viewed 11717 times
-
Чудеса случаются! Это вам любой программист скажет!
Who is online
Users browsing this forum: No registered users and 5 guests