Помогите с кросс-компиляцией для ARM

Недавно я пытался кросс-компилировать программы для ARM. Однако, когда я запускаю make, я всегда получаю ошибку в течение минуты или меньше, которая говорит что-то вроде

/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lgio-2.0.

Меня смущает то, что я получаю эту ошибку каждый раз, когда пытаюсь пересечь скомпилируйте программу (за исключением того, что она не всегда говорит, что не может найти -lgio-2.0. У нее тоже есть проблемы с поиском других вещей). Я что-то не так делаю? Почему всегда эта ошибка? Единственная программа, которую я смог успешно кросс-компилировать, это bash, но у меня были проблемы со всем остальным. Что я делаю? У меня установлены все библиотеки и все остальное, так как я могу нормально скомпилировать программы.

4
задан 23 September 2015 в 16:12

2 ответа

Как упомянуто muru. Необходимо установить архитектуру ARM той библиотеки. Однако они не перечислены на сайте http://packages.ubuntu.com. Ни один, легко управлять зависимостями вручную тот путь.

Примечание: Установка a chroot среда, я нашел странное поведение, когда я добавил armhf архитектура к моей Ubuntu 15.04 amd64. Я использовал dpkg --add-architecture=armhf. APT начинает жаловаться на поврежденный пакет wine и попробованный для удаления всех i386 пакеты.

  1. Добавьте новый исходный файл

    sudo nano /etc/apt/sources.list.d/arm-repo.list
    

    Добавьте источник архитектуры, Вы хотите и выпускаете Вас, имеют.

    deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports trusty main universe
    

    Проверьте на доступную дугу здесь: http://ports.ubuntu.com/ubuntu-ports/dists/trusty/main/, поскольку можно просмотреть/вниз для различных выпусков.

  2. Список пакета обновления

    sudo apt-get update
    
  3. Добавьте dpkg конфигурацию

    sudo nano /etc/dpkg/dpkg.cfg.d/multiarch
    

    с этой строкой

    foreign-architecture armhf
    
  4. Пакеты потребности установки по мере необходимости, пример:

    sudo apt-get install libglib2.0-0:armhf
    

Ссылки:

2
ответ дан 24 September 2015 в 02:12

Можно также загрузить пакет, кросс-скомпилировать его с помощью arm-linux-gnueabihf и разместить библиотеки в соответствующие папки arm-linux-gnueabihf каталога компилятора в/usr /

0
ответ дан 24 September 2015 в 02:12

Другие вопросы по тегам:

Похожие вопросы: