Kompilacja krzyżowa dla RaspBerry Pi
Z RaspBerry Pi iz mojego komputera próbuję kompilować prosty helloWorld napisany w C ++. Używam toolchaina Code Sourcery dla Linuksa do kompilacji.
Kiedy kopiujesz plik binarny helloWorld do raspBerry przez TFTP i nadajesz uprawnienia do wykonywania za pomocą chmod, pojawia się następny błąd:
„Nielegalne instrukcje”
Jeśli utworzysz plik „binarny” otrzymam: „raspberry: 32-bitowy plik wykonywalny LSB ELF, ARM, wersja 1 (SYSV), statycznie połączony, pozbawiony”
Dzieje się tak, ponieważ podczas łączenia użyłem „-static -static-libstdc ++”.
Jeśli nie używam statycznego łączenia, błąd jest następujący: „Błąd segmentacji”
Kod:
/*
* 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;
}
Jak mogę skompilować i uruchomić mój program we właściwy sposób? Dzięki.