2014-10-10 3 views
3

Отказ от ответственности: Я здесь новый, я сделал все возможное, чтобы следовать инструкциям по отправке, поэтому, пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Я также относительно новичок в разработке Linux.Cross compile ActiveMQ for ARM

Справочная информация: Я занимаюсь созданием библиотеки с использованием ActiveMQ-cpp в Linux. Я создал и успешно запускал его на компьютере Ubuntu, но попытка перекрестно скомпилировать его для целевого компьютера на основе ARM создает некоторые очень заумные ошибки.

Первый шаг включает сборку APR (http://apr.apache.org/) с использованием компилятора arm-linux-gcc. После некоторых исследований, следующая команда запускает скрипт конфигурации с небольшим количеством суеты:

CC=/usr/local/arm-linux/bin/arm-linux-gcc ./configure --prefix=/root/apr-arm --host=arm-linux cross_compiling=yes ac_cv_file__dev_zero=no ac_cv_func_setpgrp_void=no apr_cv_tcp_nodelay_with_cork=no apr_cv_process_shared_works=no 

Это позволяет следующий шаг - бег в Makefile.

Текущий выпуск: Вхождение сделать в командной строке выходит преждевременно в следующей строке:

[...] 
/root/.local/share/Trash/files/apr-1.5.1/build/mkdir.sh include/private 
tools/gen_test_char > include/private/apr)escape_test_char.h 
/bin/bash: tools/gen_test_char: cannot execute binary file 
make[1]: *** [include/private/apr_escape_test_char.h] Error 126 
make[1]: Leaving directory `/root/.local/share/Trash/files/apr-1.5.1' 
make: *** [all-recursive] Error 1 

Покушение Исправления: Решение следующего вопроса, размещенному спрашивающего, не работал. Возможно, что я не правильно следил за процессом (Apache Cross Compilation Error ./gen_test_char: cannot execute binary file)

В той же теме я попытался временно удалить проблему с программой gen_test_char из ее каталога, но умный скрипт просто перестраивает ее.

Моя цель - либо избежать этой ошибки, либо продолжить процесс сборки на Ubuntu, или, возможно, рассмотреть другие способы создания библиотеки. Я создал его без проблем в VS2013 на Windows, поэтому, если можно перекрестно скомпилировать этот проект для архитектур ARM, я бы с радостью продолжил это.

ответ

0

апреля потребность gen_test_char быть скомпилирован для системы не руки, почему вы получили «бен/Баш: инструменты/gen_test_char: не может выполнить двоичный файл» ошибка, потому что делает программа будет выполнять gen_test_char на вашем и если вы перекрестите компиляцию, то каждый раз, когда вы получите эту ошибку.

Чтобы избежать этой ошибки выполните следующие шаги:

1) Cross compile APR which is going to fail 
2) compile APR for system and copy gen_test_char to cross compiled APR's directory. 
3) Again cross compile 

После выполнения шагов выше, вы не должны получить «не может выполнить двоичный файл» ошибка.