DC-SWAT Forum

Полная версия: Приложение для DreamShell
Вы просматриваете yпpощеннyю веpсию форума. Пеpейти к полной веpсии.
Страниц: 1 2 3 4 5 6 7 8 9
линковшик не может найти либы: 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
Проверь есть ли в этих папках указанные либы
в первых двух лежат только .keepme, папки kos-ports нет в /opt/toolchains/dc/

/opt/toolchains скидывал из архива GCC на сайте
Нет нет. Это 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
так sdk у меня там и лежит: /usr/local/dc/kos/kos/ds/sdk
Хмм, а либы то там есть? В sdk/lib
папка pkgconfig и файлы lib**.a
выполни и покажи ответ
Код:
echo $KOS_BASE
Ааа вижу по логу косяк...

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

Правиль его в environ.sh
да, я дурак Smile /opt/toolchains/dc/kos
закинул туда sdk, и все прекрасно откомпилировалось Smile Хотя в /usr/local/dc/kos/kos/ds написано put ds sdk here.
Всем спасибо за помощь, буду практиковаться Smile
Такое дело. Мне нужно, чтобы приложение Main брало ресурсы (images, scripts, modules) не из DS/apps/main, а из какой нибудь другой папки. Догадываюсь, что дело в getenv("PATH") в описании одной из функций, но в app_main.klf ничего такого нет, все, похоже, находится в файлах-заголовках.. может, проясните ситуацию?
В app.xml
Откуда брать ресурсы прописывается в app.xml
Если путь относительный, то соответственно берется относительно расположения этого XML, но там можно прописать и полный путь.
не, в app.xml прописан только путь к иконке, к шрифту. А как программа понимает, в какой папке ей искать другие папки с программами, скрипты? В общем то, что собственно будет в BuildAppList?
А ты про это. Ну да, root директория DS берется из getenv("PATH"), а относительно нее уже идет в apps/cmds.
Но вообще приложения регистрируются на старте ядра в startup.lua и потом уже ты можешь оперировать ими получив уже готовый список с помощью функции GetAppList.
Так что тебе нет необходимости самому за ними ходить куда то, они уже все в системе зарегистрированы.

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

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

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

Можешь ниже дописать вызов этой функции еще раз но с другой директорией и все.
Приложение Main не отвечает за это вообще никак, она использует уже готовый список, который формируется в startup.lua.
(21.08.2015 12:10)megavolt85 писал(а): [ -> ]ты хочешь что то типа папок сделать?
ну почти, хочу сделать отдельное приложение, или изменить main, чтобы эти самые папки можно было создавать прямо в DreamShell. Но если приложения регистрируются с запуском системы, то это наверно не получится..
Страниц: 1 2 3 4 5 6 7 8 9
URL ссылки