2015-07-01 2 views
0

Я компилирую приложение с использованием кросс-компилятора gcc arm (arm-eabi-g ++). Я хочу выполнить код на цели jetson tk1. Когда я копирую исполняемый файл и запускаю его на цель. Я получаю сообщение об ошибке -bash: ./Proj: No such file or directoryКомпиляция кода на Jetson TK1

Должен ли я включать какие-либо дополнительные условия при строительстве, чтобы запустить его на цель?

Может кто-нибудь предложить любой другой кросс-компилятор, который работает?

+0

Вы предположительно связаны с библиотеками, предоставляемые кросс-инструментарий, те библиотеки также доступны на целевой файловой системы? Выполняется ли это нормально, если вы статически ставите ссылку на исполняемый файл? – Notlikethat

+0

Приложение, которое я написал, является простой программой добавления. В нем нет других библиотек. Исполняемый файл успешно компилируется в моей хост-системе. Когда я запускаю его на цель jetson tk1, я получаю упомянутую ошибку. Поскольку он скомпилирован для цели руки, я не могу запустить его на моей хост-системе (хост - на основе gcc). Я хотел бы знать, нужны ли какие-либо другие условия построения для запуска на целевом компьютере. – Minions

+0

Эта ошибка выглядит так, что файл не существует или, скорее, не имеет исполняемых разрешений. – Arnon

ответ

0

Возможно, это отличается архитектурой системы и программной архитектурой.

Посмотрите на архитектуру TX1 с командой

uname -p 

От JetPack v2.2 JETSON TX1 может быть установлен с aarch64 или armhf архитектурой

Простейшего способом пересечь компиляции является использование нарукавной linux- gnueabihf-g ++ для armhf и aarch64-linux-gnu-g ++ для aarch64. Вы можете запустить armhf программы на aarch64, но вам необходимо установить armhf версии всех необходимых библиотек, как LIBC или libstdC++:

sudo apt-get install libc6-dev:armhf