Приложение для DreamShell - Версия для печати +- DC-SWAT Forum (http://www.dc-swat.ru/forum) +-- Форум: DreamShell (/forum-3.html) +--- Форум: Programming (/forum-28.html) +--- Тема: Приложение для DreamShell (/thread-2173.html) |
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 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 да, я дурак /opt/toolchains/dc/kos закинул туда sdk, и все прекрасно откомпилировалось Хотя в /usr/local/dc/kos/kos/ds написано put ds sdk here. Всем спасибо за помощь, буду практиковаться 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. Но если приложения регистрируются с запуском системы, то это наверно не получится.. |