И с этим разобрался!!! :D
Добавил при линковке ключ:
Но хотелось бы чтоб ELFники были поменьше...Code:-static
Что надо сделать, чтобы библиотеки использовать динамически и чтоб ELF их находил - кто знает?
Printable View
И с этим разобрался!!! :D
Добавил при линковке ключ:
Но хотелось бы чтоб ELFники были поменьше...Code:-static
Что надо сделать, чтобы библиотеки использовать динамически и чтоб ELF их находил - кто знает?
Можно ещё компилировать без отладочной информации и с оптимизацией по размеру (в ущерб производительности видимо). Ключ компилятора -Os. У готового бинарника убрать отладочную информацию можно командой strip.
А бинарники вроде и так динамически собираются (сам же говоришь что без -static динамически собирались). Если тулчейн тот же, которым корневая фс собиралась, то делать ничего вроде бы и не надо, ну может быть прописать LD_LIBRARY_PATH=/lib:<путь к твоим библиотекам>.
А вообще при компиляции указываешь -L<путь к библиотеке> и -l<сама библиотека>. Например, если у тебя на компе в /opt/mips-lib/ лежит математическая библиотека libm.so, то указываешь mipsel-linux-gcc -L/opt/mips-lib -lm -o hello hello.c. Эту libm.so потом нужно ещё на роутер скопировать, если её там нету.
Есть Logitech Quickcam Messenger (0x046D, 0x08F0).
Здесь есть драйвер для нее. Задача - скомпилировать под ядро 2.4.37. Прошу помощи.
Насколько я понял, писать собственные программы для роутера можно только на С, ибо библиотека С++ для архитектуры mipsel находится в стадии альфа и не пригодна для использования. Не будет ли кто-нибудь так добр чтобы объяснить как скомпилировать собственную программу типа "Hello World" на С нативно на самом роутеру и с помощью тулчейна =)
P.S. Заранее спасибо за любую ценную информацию по теме...
P.S.2. Отвечая на свой вопрос:
Чтобы скомпилировать программу на "большом" компьютере для роутера надо установить тулчейн (не раз обсуждалось на форуме), потом найти в папочке /optware/toolchain/mipsel-linux-uclibc/gcc-4.1.1-uclibc-0.9.28/bin компилятор mipsel-linux-g++ и с помощью него компилировать бинарные файлы, которые не хотят исполняться на PC, зато замечательно отрабатывают на роутере )
с такой темой сталкнулся
помогло
устанавливается долго! занимает около 200 метровCode:ipkg install optware-devel
ipkg install buildroot
после установки ... заметил много что ls стал другим ...
лесится просто...
создал файлик main.cppCode:ipkg remove coreutils
компилилCode:#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hi! My name is Router :)\n");
return 0;
}
Code:g++ main.cpp -o myname && ./myname
вот только coreutils удалять не стоит, большого смысла давать C файлу расширение .cpp тоже нет и компилять C файлы с помощью g++ тоже ни к чему, когда есть gcc. А в остальном все так.
KAMEHb, большое спасибо ;) Начальный толчок дали... смог написать небольшую программку на С++ с использованием ООП, скомпилировать и запустить... дальше уже своим ходом (с)... Остаётся вопрос как тоже самое сделать с помощью тулчейна... Скачал его, скомпилировал rtorrent, набрав make rtorrent... Куда ложить свои исходники и как компилировать под архитектуру роутера разобраться не могу... И ещё такой вопрос, зачем удалять coreutils. Вроде и с ним всё работает нормально ?
В будующем хотел написать подобие FChat-а... Но писать на чистом С, без поддержки ООП мне кажется немного неправильно, поэтому интересно какие подводные камни меня могут ожидать)Quote:
Нет не только, всё зависит от того что конкретно Вы хотите написать.
Не думаю, что причина именно и только в этом - падает оно с internal compiler error, причем в свопе места еще много, я специально отслеживал отьедаемую память в top. Но таки да, заниматься нативной компиляцией без свопа и на фоне программ, энергично работающих с диском, крайне не рекомендуется.
ссылочку эту я на форуме нашёл... только с английским не оч сильно... так прочитал (как смог) и понял, что там идёт о сборке пакетов... Мне это пока трудновати, да и пакеты собирать особо не нужно, а вот когда запускаешь компилятор и получаешь бинарный файл - тут всё просто и понятно :) Но всё равно конечно спасибо ^^
Приветствую,
могли бы ли вы помочь скомпилировать iStat (http://code.google.com/p/istat/) под наш роутер, это позволит его удаленно мониторить.
Заранее благодарен
Помогите плз скомпилировать iStat 0.5.3
http://istat.googlecode.com/files/istat-0.5.3.tar.gz
Был бы очень признателен.