2014-10-10 3 views
3

면책 조항 : 나는 여기에서 새롭게 다 왔으며, 게시 가이드 라인을 따르기 위해 최선을 다 했으므로 추가 정보가 필요하면 알려주십시오. 나는 또한 리눅스 개발에 비교적 새로운 것이다.크로스 컴파일 ARM 용 ActiveMQ

배경 : Linux에서 ActiveMQ-cpp를 사용하여 라이브러리를 만드는 중입니다. 호스트 Ubuntu PC에서 성공적으로 빌드하고 실행했지만 대상 ARM 기반 시스템에서 크로스 컴파일하려고하면 매우 심각한 오류가 발생합니다.

첫 번째 단계는 arm-linux-gcc 컴파일러를 사용하여 APR (http://apr.apache.org/)을 빌드하는 것입니다. 몇 가지 조사가 끝나면 다음 명령을 실행하여 구성 스크립트를 실행합니다.

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 프로그램을 해당 디렉토리에서 제거하려고 시도했지만 영리한 스크립트가 다시 작성했습니다.

내 목표는이 오류를 피하고 우분투에서 빌드 프로세스를 계속하거나 다른 라이브러리를 빌드하는 방법을 고려하는 것입니다. Windows에서 VS2013에 문제없이 구축 했으므로 ARM 아키텍처 용 프로젝트를 크로스 컴파일 할 수 있다면 행복하게 진행할 것입니다. 당신이 가지고 왜

답변

0

4 월 필요 gen_test_char이 아니라 암에 대한 시스템을 위해 컴파일 할 "빈/bash는 : 도구/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 

당신이 오류 "이진 파일을 실행할 수 없습니다"하지해야 위의 단계를 수행 한 후 :

는 이하의 절차를이 오류를 방지합니다.

관련 문제