2015-07-01 50 views
0

我正在編譯一個使用gcc arm交叉編譯器(arm-eabi-g ++)的應用程序。我想執行jetson tk1目標上的代碼。當我複製可執行文件並在目標上運行它時。我得到一個錯誤,說-bash: ./Proj: No such file or directory在Jetson上編譯代碼TK1

我應該在構建時包含任何額外的條件,以便在目標上運行它嗎?

任何人都可以提出任何其他交叉編譯器的作品?

+0

你已經對由交叉工具鏈提供的庫想必聯繫,是這些庫也可在目標文件系統?如果您靜態鏈接可執行文件,它會運行正常嗎? – Notlikethat

+0

我寫的應用程序是一個簡單的添加程序。它沒有包含任何其他庫。可執行文件在我的主機系統上成功編譯。當我在jetson tk1目標上運行它時,出現提到的錯誤。由於它是爲arm目標編譯的,因此我無法在我的主機系統上運行它(主機是基於gcc的)。我想知道是否需要其他任何構建條件才能在目標上運行 – Minions

+0

該錯誤看起來像文件不存在,或者確實沒有可執行權限。 – Arnon

回答

0

它可能是不同的系統架構和程序架構。

查找TX1與命令

uname -p 

架構從JETPACK V2.2杰特森TX1可以與aarch64或armhf架構被安裝到交叉編譯

Simpliest方式是使用臂Linux的用於armhf的gnueabihf-g ++和用於aarch64的aarch64-linux-gnu-g ++。您可以運行在aarch64 armhf程序,但需要安裝像libc中的所有必要的庫armhf版本或的libstdC++:

sudo apt-get install libc6-dev:armhf