我想交叉編譯php的手臂,並有很好的進展,但我完全卡住它想要運行PHP本身(不知道爲什麼)。因爲它是一個二進制的手臂,而不是英特爾(我的建築平臺),它不會運行:交叉編譯php
/bin/sh: /path-to-build/sapi/cli/php: cannot execute binary file
我怎樣才能解決這個問題?配置腳本明白我是交叉編譯,但沒有做任何事情(從配置日誌):
checking whether the C compiler (/path-to-compiler/arm-none-linux-gnueabi-gcc) is a cross-compiler... yes
我編譯php-5.3.6
與configure命令行:
export CC=/path-to-cc/arm-none-linux-gnueabi-gcc
../configure --prefix=/prefix-path/ --host=arm-none-linux-gnueabi
--disable-libxml --disable-dom --disable-openssl
--without-iconv --without-openssl --disable-simplexml
--disable-xml --disable-xmlreader --disable-xmlwriter
--without-pear --without-sqlite --without-sqlite3
--disable-pdo --without-pdo-sqlite
我把工具鏈的路徑,只是沒有設置'CC'然後指定'--host =手臂-NONE-Linux的gnueabi'應該讓'configure'找到一切都需要:編譯器,鏈接器,條等 –
它沒關係......它在php上失敗,不在工具 – Dani
你確定它鏈接正確嗎?我的意思是這不是因爲CC是arm-none-linux-gnueabi-gcc,'configure'正確地解析了其他工具鏈的工具......「無法執行二進制文件」可以表示鏈接問題,因爲'configure'沒有使用正確的鏈接器(因爲你沒有設置'LD') –