免責聲明:我在這裏是新的,我已經盡我所能按照發布指南,所以請讓我知道如果這需要任何額外的信息。我對Linux開發也比較陌生。交叉編譯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程序,但巧妙的腳本只是重建它。
我的目標是要麼避免這個錯誤,並在Ubuntu上繼續構建過程,或者考慮其他構建庫的方法。我已經在Windows上的VS2013中毫無困難地構建了它,因此如果可以爲ARM體系結構交叉編譯該項目,我會很樂意繼續這樣做。