RaspBerry Piを使用して、コンピューターから、C++で記述された単純なhelloWorldをクロスコンパイルしようとしています。Linux用のCodeSourceryツールチェーンを使用してコンパイルしています。
TFTPを使用してhelloWorldバイナリをraspBerryにコピーし、chmodを使用して実行権限を付与すると、次のエラーが表示されます。
「違法な指示」
バイナリ上に「ファイル」を作成すると、次のようになります。「ラズベリー:ELF 32ビット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;
}
プログラムを正しい方法でコンパイルして実行するにはどうすればよいですか?ありがとう。