2016-05-31 5 views
2

私は、ツールチェーンに独自のライブラリを組み込む方法が示されている例を探しています。Yoctoによって生成された埋め込みLinux用のツールチェイン(SDK)に独自のlibaryを含めるにはどうすればいいですか?

ライブラリ「myLib」を呼び出してみましょう。それについて、私はレシピ "myLib.bb" を作成して、コメントを追加:

BBCLASSEXTEND = "native nativesdk" 

を私の "local.conf" で私がコメントを追加しました:

IMAGE_INSTALL_append = " myLib" 

でSDKを構築:

$ bitbake myTarget -c populate_sdk 

SDKのインストーラと2つのマニフェストファイルを生成します。 "myLib"はターゲットマニフェストにのみ含まれ、ホストには含まれません。 myLibをホストシステムに含めるにはどうしたらいいですか?


アイデアは、他の人がYoctoシステムなしで自分のシステムにソフトウェアをビルドできるということです。ツールチェインを使用することによってのみ、バイナリを生成することができます。バイナリは、evalboardで転送および実行できます。

答えて

4

あなたのライブラリmyLibがイメージにインストールされている限り、それはあなたの生成されたSDKの一部であると考えられます。少なくともターゲットマニフェストの一部であるとも言います。

ライブラリに必要なヘッダーファイルをインストールしていることを確認してから、ライブラリに対してクロスコンパイルできるはずです。

開発者ビルドマシンでmyLibを使用する必要がありますか?それ以外の場合は、なぜそれがnativeskdの部分に追加されたいのですか? (すなわち、ホストマニフェスト)。これは、ホストマシン、つまりクロスコンパイラ、コードジェネレータなどで実行する必要があるアプリケーションのためのものです。

+0

"nativeskd"に追加したいのですが。 sdkを使用している開発者は、ライブラリとリンクすることができます。アイデアは、ターゲットシステムのすべてのlibsを含むsdkを持つことです。 –

+2

さて、nativesdkのバージョンを追加する必要はありません。 nativesdkのバージョンは、開発者が必要とするだけで、自分のデスクトップ用に、自分のライブラリに対して何かをローカルに構築する必要があります。ターゲットバージョンは、クロスコンパイルに必要なバージョンです。 – Anders

関連する問題