DC-SWAT Forum
Приложение для DreamShell - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: DreamShell (/forum-3.html)
+--- Форум: Programming (/forum-28.html)
+--- Тема: Приложение для DreamShell (/thread-2173.html)

Страниц: 1 2 3 4 5 6 7 8 9


RE: Приложение для DreamShell - megavolt85 - 20.08.2015 12:35

линковшик не может найти либы: libds.a , libkos.a , libds_gcc.a
Ищет он их в папках /opt/toolchains/dc/kos/lib/dreamcast , /opt/toolchains/dc/kos/addons/lib/dreamcast , /opt/toolchains/dc/kos-ports/lib
Проверь есть ли в этих папках указанные либы


RE: Приложение для DreamShell - SuperClaw - 20.08.2015 12:46

в первых двух лежат только .keepme, папки kos-ports нет в /opt/toolchains/dc/

/opt/toolchains скидывал из архива GCC на сайте


RE: Приложение для DreamShell - SWAT - 20.08.2015 12:55

Нет нет. Это stub либы DS, служат для проверки что все использованные функции в модуле доступны в DS. Лежат они в SDK DS.
Если ты создашь в kos директорию ds и в нее положишь папку с sdk, то ничего прописывать не придется и все соберется. Если в другом месте лежит у тебя, то можешь в Makefile.cfg (тот что в sdk лежит) изменить переменную DS_BASE. По умолчанию там прописано так:

Код:
DS_BASE    = $(KOS_BASE)/ds
DS_SDK    = $(DS_BASE)/sdk
DS_BUILD    = $(DS_BASE)/build



RE: Приложение для DreamShell - SuperClaw - 20.08.2015 12:58

так sdk у меня там и лежит: /usr/local/dc/kos/kos/ds/sdk


RE: Приложение для DreamShell - SWAT - 20.08.2015 13:33

Хмм, а либы то там есть? В sdk/lib


RE: Приложение для DreamShell - SuperClaw - 20.08.2015 13:35

папка pkgconfig и файлы lib**.a


RE: Приложение для DreamShell - megavolt85 - 20.08.2015 13:40

выполни и покажи ответ
Код:
echo $KOS_BASE



RE: Приложение для DreamShell - SWAT - 20.08.2015 13:45

Ааа вижу по логу косяк...

Ты KOS положил в /usr/local/dc/kos/kos
А в KOS_BASE у тебя прописано /opt/toolchains/dc/kos/

Правиль его в environ.sh


RE: Приложение для DreamShell - SuperClaw - 20.08.2015 13:46

да, я дурак Smile /opt/toolchains/dc/kos
закинул туда sdk, и все прекрасно откомпилировалось Smile Хотя в /usr/local/dc/kos/kos/ds написано put ds sdk here.
Всем спасибо за помощь, буду практиковаться Smile


RE: Приложение для DreamShell - SuperClaw - 20.08.2015 18:51

Такое дело. Мне нужно, чтобы приложение Main брало ресурсы (images, scripts, modules) не из DS/apps/main, а из какой нибудь другой папки. Догадываюсь, что дело в getenv("PATH") в описании одной из функций, но в app_main.klf ничего такого нет, все, похоже, находится в файлах-заголовках.. может, проясните ситуацию?


RE: Приложение для DreamShell - megavolt85 - 20.08.2015 21:01

В app.xml


RE: Приложение для DreamShell - SWAT - 20.08.2015 21:07

Откуда брать ресурсы прописывается в app.xml
Если путь относительный, то соответственно берется относительно расположения этого XML, но там можно прописать и полный путь.


RE: Приложение для DreamShell - SuperClaw - 21.08.2015 08:06

не, в app.xml прописан только путь к иконке, к шрифту. А как программа понимает, в какой папке ей искать другие папки с программами, скрипты? В общем то, что собственно будет в BuildAppList?


RE: Приложение для DreamShell - SWAT - 21.08.2015 08:22

А ты про это. Ну да, root директория DS берется из getenv("PATH"), а относительно нее уже идет в apps/cmds.
Но вообще приложения регистрируются на старте ядра в startup.lua и потом уже ты можешь оперировать ими получив уже готовый список с помощью функции GetAppList.
Так что тебе нет необходимости самому за ними ходить куда то, они уже все в системе зарегистрированы.

То что происходит с путями в Main приложении (в функции BuildAppList) это по большей части для скриптов на рабочем столе, а не для самих приложений. Список приложений там берется как раз с помощью GetAppList.


RE: Приложение для DreamShell - SuperClaw - 21.08.2015 09:46

А в каком файле находится содержимое GetAppList и других функций, типа GetAppById, lib_get_name и т.п.?


RE: Приложение для DreamShell - SWAT - 21.08.2015 10:54

В смысле? Список формируется в оперативке при запуске, он нигде не хранится в файлах.
Т.е. на старте ядро пробегается по всем xml в apps и регистрирует их в списке в оперативке для быстрого доступа и оперирования в дальнейшем.

Или ты имеешь ввиду где код этих функций? Он в ядре.


RE: Приложение для DreamShell - SuperClaw - 21.08.2015 12:08

хм, то есть не сделать клон программы main, которая будет брать приложения не из apps, а из другой папки?


RE: Приложение для DreamShell - megavolt85 - 21.08.2015 12:10

ты хочешь что то типа папок сделать?


RE: Приложение для DreamShell - SWAT - 21.08.2015 12:23

Ну почему же, можно сделать. Но их в любом случае нужно зарегистрировать в системе, не важно в какой директории они находятся, можно с любой это сделать.
Открой startup.lua, там есть такая строка:

PHP код:
self:InstallingApps(path .. "/apps"); 

Можешь ниже дописать вызов этой функции еще раз но с другой директорией и все.
Приложение Main не отвечает за это вообще никак, она использует уже готовый список, который формируется в startup.lua.


RE: Приложение для DreamShell - SuperClaw - 21.08.2015 15:49

(21.08.2015 12:10)megavolt85 писал(а):  ты хочешь что то типа папок сделать?
ну почти, хочу сделать отдельное приложение, или изменить main, чтобы эти самые папки можно было создавать прямо в DreamShell. Но если приложения регистрируются с запуском системы, то это наверно не получится..