1

Debian 7.5を搭載したBeaglebone Black があります。

私のホストは32 ビットの Ubuntu 14.10インストールです。

アームのクロスコンパイルにQt4.8.6を使用しています

タッチスクリーンを使用し、キーボードからの MIDI 入力も読み取るアプリケーションを作成しようとしています。次のチュートリアル ( http://embedded.von-kannen.net/2014/05/21/qt-4-8-6-on-beaglebone-black/ ) を使用して Qt 組み込みをインストールし、クロスコンパイルできるようにしました。私のビーグルボーン(チュートリアルにはいくつかの修正が必要です。誰かが必要とする場合は、「修正済み」ドキュメントを用意しています)

ファイルはビーグル犬に展開され、機能しましたが、画面を調整するには常に追加の入力が必要でした. 私のQtプロジェクトがMIDI信号の読み取りと送信のためにRtMidiライブラリを必要とするまで、これはすべてうまくいきました。デスクトップで RtMidi を使用してすべてを問題なくコンパイルできますが、BBB 用にビルドしようとすると、次のメッセージが表示されます。

Cannot find -lasound
collect2: error: ld returned 1 exit status

私は腕のためにALSAを構築する必要があると思っていました.

苦労しましたが、何とか手に入れることができたと思います。残念ながら、自分の作品をQtに追加したとき:

DEFINES += __LINUX_ALSA__
LIBS += -L/path/to/folder/containing/asound -lasound

私は迎えられました:

undefined reference to: '__pol_chk#GLIBC_2.16' in /.../libasound.so file
collect2: error: ld returned 1 exit status

私はそれを間違ってやったか、もう機能しません。

arm-none-linux- gnueabi-c++/gccの代わりにarm-linux-gnueabi-c++/gccを使用しました。とにかくarm-none-linux-gnueabiのものを持っていませんでした...それが私の全体の問題である場合、どうすれば入手できますか?

率直に言って、私はかなり迷っています。arm ALSA が問題であるかどうかさえわかりません。私は Ubuntu に特に精通していませんし、慣れているわけでもありませんが、仕方がありません。Windows のチュートリアルはすべて、無料で利用できなくなった codesourcery ツールチェーンを必要とし、ubuntu のチュートリアルははるかに有益で、まれではありません... 私がやっていることのすべてのチュートリアルは信じられないほど古くなっているようです。すべてが古い Angstrom Distribution 用に作成されており、もはや実際には有効ではありません... この時点で、それを機能させるために何をすべきか完全に見失ってしまいました。

私は助けが必要です。できれば、5 歳児に与えるような指示 (手順と端末入力が明確に綴られています...)

他にどのような情報を提供する必要があるのか​​ わかりません。何か不足している場合はお問い合わせください.

  • 私のプログラミング言語は C++ です。
  • 私が従ったチュートリアルで使用されたものである限り、Linaro ツールチェーンを使用しました。
4

1 に答える 1

0

私は自分の答えを見つけました。私が使用していたコンパイラが実際に問題であることがわかりました。arm-none-linux-gnueabi を手に入れた後、問題は少し進行しましたが、VFP レジスタの問題が発生し始めたときに、最終的に再び停止しました...

私の最終的な解決策は、以前に Qtempedded をコンパイルするために使用した linaro コンパイラを使用することでした。つまり、arm-linux-gnueabihf-gccarm-linux-gnueabihf-c++です。

また、alsa チュートリアルの指示を部分的に誤解しており、間違ったパスにコンパイルしていました。

noobがグーグルでこれを見つけた人のために:コンパイラツールチェーンが実行可能ファイルを作成できないと言われている場合:

$ PATH=/home/<user>/......./linaro-lotsa-version-numbers/bin/:$PATH

(arm-linux-gnueabihf という単語が含まれる実行可能ファイルのように見えるものがたくさん含まれているフォルダー)

CC=/bla/bla/bla コマンドを実行する前に。

同様に、configure の --prefix オプションは次のようになります。

/home/<user>/....../linaro-lotsa-version-numbers/arm-linux-gnueabihf/libc/usr

Qtで使用:

LIBS += -L/home/<user>/....../linaro-lotsaversionnumbers/arm-linux-gnueabihf/libc/usr/lib -lasound 

(libasound.so を含むフォルダーを探しています)

つまり、上記のチュートリアルに従って行ったように、ホームフォルダーで作業を行ったと仮定することは明らかです。

于 2015-01-15T13:58:14.433 に答える