2016-04-14 2 views
-1

Я работаю над проектом, в котором я создаю библиотеку C (скомпилирован через Makefile), затем пишу другую программу на C (которая использует указанную выше библиотеку C) и компилирую. Я все это сделал в системе linux x86_64, и это сработало. К сожалению, мне пришлось делать все это на устройстве, использующем среду openwrt. Не знакомый с openwrt, то, что я сделал, помещает библиотеку, которую я создал в linux, в папку lib openwrt и пыталась ее скомпилировать, но поскольку архитектура Linux в OpenWRT не то же самое, он бросил следующую ошибкуСоздание библиотеки для среды openwrt

не мог читать символы: формат файла не распознан

Теперь мой вопрос. Как я могу создать вышеупомянутую библиотеку для среды openwrt. Нужно ли использовать make-файл, кросс-компилятор (если да, какой) или использовать какой-либо другой вариант?

+0

'(если да, какой)' - зависит от вашей архитектуры. – Shark

+0

Проще всего сделать перекомпилировать библиотеку в окне openwrt, если у нее установлена ​​инструментальная цепочка. –

ответ

0

На странице википедии из OpenWrt (https://en.wikipedia.org/wiki/OpenWrt):

OpenWrt построить систему ...

Обеспечивает интегрированную кросс-компилятор набор инструментов (GCC, LD, uClibc и т.д.)

да так, что вам нужно пересечь компиляции, пожалуйста, следуйте инструкциям по адресу:

https://wiki.openwrt.org/doc/devel/crosscompile

Однако вам необходимо знать архитектуру вашего окна OpenWrt ...

+0

Я попытался использовать кросс-компилятор, но, по-видимому, он не распознает make-файл, который я написал для компиляции библиотеки. Есть ли какой-либо конкретный способ написать makefile для openwrt cross compilers? – kewal

+0

@kewal, пожалуйста, поделитесь с нами файлом makefile и тем, как вы пытаетесь использовать его для большего количества глаз, смотрите больше принципа ... – fritzone

+0

Я использую устройство cloudgate, которое имеет openwrt. Устройство поставляется с sdk, который перекрестно компилирует мой код для устройства. Я просто разместил свой makefile и другие соответствующие коды в этом sdk.Когда я попытался запустить make menuconfig, мой пакет не был в списке опций (вот как я предположил, что он не может распознать мой make-файл). Я не имею права делиться файлом makefile, нет ли общего пути (набора инструкций или правила) для создания makefile для openwrt? – kewal