С RaspBerry Pi и с моего компьютера я пытаюсь перекрестно скомпилировать простой helloWorld, написанный на С++. Я использую toolchain Code Sourcery для компиляции linux.
При копировании двоичного файла helloWorld в raspBerry с помощью TFTP и предоставления ему разрешений на выполнение с помощью chmod появляется следующая ошибка:
"Незаконная инструкция"
Если сделать "файл" над двоичным, я получаю: "малина: 32-разрядный исполняемый файл ELF ELF, ARM, версия 1 (SYSV), статически связанная, разделенная"
Это связано с тем, что при связывании я использовал "-static -static-libstdС++".
Если я не использую статическое связывание, ошибка: "Ошибка сегментации"
Код:
/*
* main.cpp
*
* Created on: 26/06/2012
* Author: ccortiz
*/
#include <iostream>
using namespace std;
int main(void){
cout << "Hello Cross Compilling for ARM!" << endl << flush;
return 0;
}
Как я могу правильно скомпилировать и запустить свою программу? Спасибо.