Значит так:
прочитал http://diamond.kolibrios.org/hll/hll.htm
скачал http://diamond.kolibrios.org/menuetlibc.7z
распаковал в домашнем каталоге
сделал export MENUETDEV= ...
cd menuetlibc
make
все прошло отлично .
Теперь беру пример из описания, делаю hello.c делаю makefilе
пробую make -
hello.о собрался бинарника нет
дальше не разбирался.
Помощь в прикрутке gcc
Держу пари, ругается ld на то, что нет точки входа в программу.
Статью diamond'а никто не обновлял, и там указана устаревшая информация. Главная функция должна называться main (как в стандарте Си), а не app_main (так было когда-то давно в menuetlibc). Этот вопрос уже задавался (в том числе мной) на форуме. Предлагаемое решение: заменить app_main на main. Должно помочь.
Кроме menuetlibc, можно использовать newlib (это такой libc от red hat). На мой взгляд, он функциональнее, чем menuetlibc, хотя и прожорливее в плане размера бинарников. Потребуется компилятор mingw (для многих linuxов есть в репозиториях), скомпилированная библиотека (брать на форуме, в разделе Прикладные библиотеки) и заголовочные файлы (можно использовать те, что лежат на svn в папке programs/develop/libraries/newlib или как-то так)
Статью diamond'а никто не обновлял, и там указана устаревшая информация. Главная функция должна называться main (как в стандарте Си), а не app_main (так было когда-то давно в menuetlibc). Этот вопрос уже задавался (в том числе мной) на форуме. Предлагаемое решение: заменить app_main на main. Должно помочь.
Кроме menuetlibc, можно использовать newlib (это такой libc от red hat). На мой взгляд, он функциональнее, чем menuetlibc, хотя и прожорливее в плане размера бинарников. Потребуется компилятор mingw (для многих linuxов есть в репозиториях), скомпилированная библиотека (брать на форуме, в разделе Прикладные библиотеки) и заголовочные файлы (можно использовать те, что лежат на svn в папке programs/develop/libraries/newlib или как-то так)
Sorcerer
Может тогда сделаешь коррекцию мануала от diamond'a? Или напишешь свою статью на тему hello world и gcc ?
Может тогда сделаешь коррекцию мануала от diamond'a? Или напишешь свою статью на тему hello world и gcc ?
Скорее напишу свою статью. Слишком много нюансов в статье diamond'а не учтено, и это понятно - цель была не рассказать, как работать с gcc, а показать, что это вообще возможно.
Попробовал скопировать код и мейк из programs/binclock сработало вроде без ошибок. Значит код был кривой.
теперь еще вопрос:
1. объектный файл стандартный для gcc получается? если да то как точно сказать компилятору использовать только наши инклуды и в сторону не смотреть?
2. если не использовать Makefile_for_program то как самому написать корректный Makefile для сборки бинарника, пробовал не получилось что то.
3. а еще хотелось бы иногда иметь возможность инклудить исходный код функций, а не готовые стат. библиотеки. Вот как это настроить я тоже пока не разобрался.
теперь еще вопрос:
1. объектный файл стандартный для gcc получается? если да то как точно сказать компилятору использовать только наши инклуды и в сторону не смотреть?
2. если не использовать Makefile_for_program то как самому написать корректный Makefile для сборки бинарника, пробовал не получилось что то.
3. а еще хотелось бы иногда иметь возможность инклудить исходный код функций, а не готовые стат. библиотеки. Вот как это настроить я тоже пока не разобрался.
Так что, кто нибудь прояснит?
1) Объектный файл - обычный объектный файл. Makefile как раз и говорит использовать только menuetlibc-инклуды.
2) Есть же исходники makefile'ов всех - их можно брать за основу. Просто тот же самый makefile_for_program взять и переписать
3) Зачем подключать исходный код? Исходный код чего именно? Библиотеки и так все статически линкуются для melibc
2) Есть же исходники makefile'ов всех - их можно брать за основу. Просто тот же самый makefile_for_program взять и переписать
3) Зачем подключать исходный код? Исходный код чего именно? Библиотеки и так все статически линкуются для melibc
Код функции, допустим его нужно модифицировать, но библиотеку при этом не трогать.Sorcerer wrote: 3) Зачем подключать исходный код? Исходный код чего именно? Библиотеки и так все статически линкуются для melibc
Исходники библиотек доступны. Компилируй, собирай, используй. Коммунизм.
А подключать напрямую исходный код библиотек - это как-то страннннно.
А подключать напрямую исходный код библиотек - это как-то страннннно.
Who is online
Users browsing this forum: No registered users and 11 guests