Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Sep 18, 2019 6:21 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Tue Jun 14, 2011 9:18 am 
Offline

Joined: Wed Jun 01, 2011 5:55 pm
Posts: 41
Значит так:
прочитал http://diamond.kolibrios.org/hll/hll.htm
скачал http://diamond.kolibrios.org/menuetlibc.7z
распаковал в домашнем каталоге
сделал export MENUETDEV= ...
cd menuetlibc
make
все прошло отлично .

Теперь беру пример из описания, делаю hello.c делаю makefilе
пробую make -
hello.о собрался бинарника нет

дальше не разбирался.


Top
   
PostPosted: Tue Jun 14, 2011 9:32 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Держу пари, ругается ld на то, что нет точки входа в программу.
Статью diamond'а никто не обновлял, и там указана устаревшая информация. Главная функция должна называться main (как в стандарте Си), а не app_main (так было когда-то давно в menuetlibc). Этот вопрос уже задавался (в том числе мной) на форуме. Предлагаемое решение: заменить app_main на main. Должно помочь.

Кроме menuetlibc, можно использовать newlib (это такой libc от red hat). На мой взгляд, он функциональнее, чем menuetlibc, хотя и прожорливее в плане размера бинарников. Потребуется компилятор mingw (для многих linuxов есть в репозиториях), скомпилированная библиотека (брать на форуме, в разделе Прикладные библиотеки) и заголовочные файлы (можно использовать те, что лежат на svn в папке programs/develop/libraries/newlib или как-то так)


Top
   
PostPosted: Tue Jun 14, 2011 10:05 am 
Offline
Kernel Optimizer
User avatar

Joined: Mon Jan 16, 2006 7:58 pm
Posts: 657
Sorcerer
Может тогда сделаешь коррекцию мануала от diamond'a? Или напишешь свою статью на тему hello world и gcc ?


Top
   
PostPosted: Tue Jun 14, 2011 10:37 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Скорее напишу свою статью. Слишком много нюансов в статье diamond'а не учтено, и это понятно - цель была не рассказать, как работать с gcc, а показать, что это вообще возможно.


Top
   
PostPosted: Tue Jun 14, 2011 2:36 pm 
Offline

Joined: Wed Jun 01, 2011 5:55 pm
Posts: 41
Попробовал скопировать код и мейк из programs/binclock сработало вроде без ошибок. Значит код был кривой.
теперь еще вопрос:

1. объектный файл стандартный для gcc получается? если да то как точно сказать компилятору использовать только наши инклуды и в сторону не смотреть?

2. если не использовать Makefile_for_program то как самому написать корректный Makefile для сборки бинарника, пробовал не получилось что то.

3. а еще хотелось бы иногда иметь возможность инклудить исходный код функций, а не готовые стат. библиотеки. Вот как это настроить я тоже пока не разобрался.


Top
   
PostPosted: Wed Jun 15, 2011 12:48 pm 
Offline

Joined: Wed Jun 01, 2011 5:55 pm
Posts: 41
Так что, кто нибудь прояснит?


Top
   
PostPosted: Wed Jun 15, 2011 12:57 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
1) Объектный файл - обычный объектный файл. Makefile как раз и говорит использовать только menuetlibc-инклуды.
2) Есть же исходники makefile'ов всех - их можно брать за основу. Просто тот же самый makefile_for_program взять и переписать
3) Зачем подключать исходный код? Исходный код чего именно? Библиотеки и так все статически линкуются для melibc


Top
   
PostPosted: Wed Jun 15, 2011 1:20 pm 
Offline

Joined: Wed Jun 01, 2011 5:55 pm
Posts: 41
Sorcerer wrote:
3) Зачем подключать исходный код? Исходный код чего именно? Библиотеки и так все статически линкуются для melibc


Код функции, допустим его нужно модифицировать, но библиотеку при этом не трогать.


Top
   
PostPosted: Wed Aug 17, 2011 3:37 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2814
Исходники библиотек доступны. Компилируй, собирай, используй. Коммунизм.
А подключать напрямую исходный код библиотек - это как-то страннннно.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 9 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited