Я энтузиаст C/C++ программист, новичок в этой области изучения настройки прошивки. Для моего последнего проекта я разрабатываю решение для улучшения коммутации пакетов маршрутизатора и выбрал OpenWRT в качестве прошивки с открытым исходным кодом. Я немного пытался настроить среду и хотел бы узнать ваше экспертное мнение о том, на правильном ли я пути.
Я выполнил следующие шаги, чтобы установить openWRT на свой локальный ПК. (http://wiki.openwrt.org/doc/howto/buildroot.exigence а>).
В make menuconfig я выбрал: - Дополнительные параметры конфигурации - Автоматическая пересборка пакетов - Параметры ToolChain - Сборка gdb - Сборка OpenWRT Image Builder - Сборка OpenWRT SDK - Сборка ToolChain на основе OpenWRT
и сохранил конфигурацию и запустил команды, - make tools/install - make toolchain/install
Затем в Netbeans я добавил новую коллекцию инструментов из Tools -> Options -> C/C++.
и дал базовый каталог как '/openwrt/openwrt/toolchain'
и компилятор C как '/usr/bin/gcc'
Подскажите, знатоки, если я что-то не так сделал? Достаточно ли этого для разработки и компиляции нового класса C для прошивки openWRT, чтобы я мог пересобрать образ для прошивки в роутере?
Ваши советы очень ценны, уважаемые знатоки. Долго мучался с этой проблемой :)
Спасибо еще раз :)
ИЗМЕНИТЬ
Проблема в том, что когда я устанавливаю папку
/openwrt/openwrt/staging_dir/toolchain-i386_gcc-4.5-linaro_uClibc-0.9.32/i486-openwrt-linux
на который ссылается учебник http://downloads.openwrt.org/docs/eclipse.pdf для установки в качестве кросс-компилятора в среде IDE выдается ошибка, указывающая, что компилятор не найден как в eclipse, так и в Netbeans.
НО это работает, когда я указываю на каталог /openwrt/openwrt/toolchain
.
Мой вопрос в том, что можно продолжить разработку и использовать компилятор в папке набора инструментов для компиляции проекта?
ИЗМЕНИТЬ 2
Вывод, который я получаю, когда запускаю команду
find ./staging_dir -path "./staging_dir/toolchain*" -name *openwrt-linux
в папке openwrt, как было предложено TheCodeArtist
,
./staging_dir/toolchain-mips_34kc_gcc-4.6-linaro_uClibc-0.9.33.2/mips-openwrt-linux
ИЗМЕНИТЬ 3
ИЗМЕНИТЬ 4
find ./staging_dir -path "./staging_dir/toolchain*" -name *openwrt-linux
- person TheCodeArtist   schedule 02.02.2014./staging_dir/toolchain-mips_34kc_gcc-4.6-linaro_uClibc-0.9.33.2/mips-openwrt-linux
- person Hasitha Shan   schedule 02.02.2014find
, кажется, что вы построили ТОЛЬКО набор инструментов MIPS, а НЕ набор инструментов x86 в openwrt. Теперь, если вы пытаетесь скомпилировать исполняемый файл/библиотеку x86 для цели x86, значит, у вас еще НЕ настроена цепочка инструментов должным образом. вернитесь и проверьте документацию openwrt, чтобы узнать, как сначала собрать набор инструментов x86. В качестве альтернативы, если вы собираетесь создать исполняемый файл/библиотеку MIPS для маршрутизатора MIPS, используйте каталог, возвращаемый командой find, в качестве каталога кросс-компилятора в eclipse/netbeans. Убедитесь, что вы указали правильный префикс вместе с ним. - person TheCodeArtist   schedule 02.02.2014arm-none-linux-gcc
arm-none-linux-ar` и т. д., то префикс будетarm-none-linux-
. Поскольку у вас, кажется, есть набор инструментов MIPS, это будет что-то вроде строкmips-*-gcc
и т. д. в каталоге./staging_dir/toolchain-mips_34kc_gcc-4.6-linaro_uClibc-0.9.33.2/mips-openwrt-linux
. Найдите и используйте правильный префикс при указании каталога набора инструментов. - person TheCodeArtist   schedule 02.02.2014./staging_dir/toolchain-mips_34kc_gcc-4.6-linaro_uClibc-0.9.33.2/initial/bin
как файлbase directory
. Затем укажите относительные пути/имена файлов gcc, g++ и т. д. в отдельных полях дляC compiler
объявленияC++ compiler
и т. д., т. е.mips-openwrt-linux-uclibc-gcc
иmips-openwrt-linux-uclibc-g++
соответственно. Идея состоит в том, что когда среде IDE необходимо запустить компилятор C/C++, она может найти их, объединив BaseDir + имя_компилятора и используя полученный полный путь для запуска команды компиляции. - person TheCodeArtist   schedule 02.02.2014./staging_dir/toolchain-mips_34kc_gcc-4.6-linaro_uClibc-0.9.33.2/initial/bin
в качестве базового каталога, он сказал, чтоNo Compiler sets were found in the directory
. Мне нужно вручную указать семейство набора инструментов. Но он работает для папкиopenwrt/toolchain
, поскольку он выбирает семейство набора инструментов какGNU
. Ничего, если я укажу семейство инструментов как GNU вручную? Спасибо еще раз :) - person Hasitha Shan   schedule 02.02.2014