С помощью RaspBerry Pi и со своего компьютера я пытаюсь кросс-компилировать простой helloWorld, написанный на C++. Я использую набор инструментов Code Sourcery для компиляции Linux.
При копировании двоичного файла helloWorld в raspBerry с помощью TFTP и предоставлении ему разрешений на выполнение с помощью chmod появляется следующая ошибка:
«Недопустимая инструкция»
Если создать «файл» поверх двоичного файла, я получаю: «малина: 32-разрядный исполняемый файл ELF LSB, ARM, версия 1 (SYSV), статически связанный, лишенный»
Это потому, что я использовал «-static -static-libstdc++» при компоновке.
Если я не использую статическое связывание, возникает ошибка: "Ошибка сегментации"
Код:
/*
* 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;
}
Как правильно скомпилировать и запустить программу? Спасибо.