2017-10-07 13 views
0

どうですか? Debian jessieをnanoi M1で使用して、大きな問題(または少なくとも私はそれを解決する方法を知らない)をGeanyで持っています。私は後にコンパイルされたプログラムを「構築」するトリングたとき、私はGPIOポートを制御するためにnanopi M1に付属しているいくつかの修正デモコードを実行しようとしている私はnanopanyでGeanyのリンクエラーがあると思います

、そう:

歴史をたどるようにそれが言う関数mainで

::、それは次のエラーを示し

/tmp/ccwWOISx.o in function 'main' 
......     undefined reference to 'boardinit' 
......     undefined reference to 'pintoGPIO' 
......     undefined reference to 'openHW' 
......     undefined reference to 'selectHW' 
......     undefined reference to 'readHW' 
......     undefined reference to 'closeHW' 
...... 
...... 
and about two or tree more errors of the same type "undefined reference" all 
related a functions of the hardware 

I gccを使用している、コマンドがgeanyにプリチャージされてきた:

コンパイル:

gcc -Wall -c "%f" 

ビルド:

gcc -Wall -o "%f" "%e" 

はので、私は(私はstackoverflowの中の他の記事にreaded何理解している場合)を考えるリンクエラーですが、解決する方法がわかりませんそれ。その後、私はこれにビルドコマンドを変更した

gcc -Wall -c -o "%f" "%e" 

これがエラーを持っていないために作られたが、生成されたファイルのタイプは、今ある「オブジェクトコード」(これは間違っている)ので、私は "実行可能"ファイル(拡張子なし)が必要で、端末は次のメッセージを出します:

bash: ./Matrix-ir_receiver: cannot execute binary file: Exec format error 

私はこれを解決する方法はありません。

答えて

0

私が言ったように、リンカーの問題だったので、実行可能ファイルをビルドするために-lfahwと-lmオプションを使う必要がありました。最初のオプションは、ARMデバイスに固有のものです。その後、プログラムは完璧に実行されます。

関連する問題