私はYoctoのusr/lib(libbbexample.so)ディレクトリに共有ライブラリを作成するレイヤーを持っています。ライブラリにはいくつかの機能が含まれています。Yocto- gccは共有ライブラリを見つけることができません
だから、私はので、私は新しい層bitbakeみました
libbbexample.so helloworld.c
#incude<stdio.h>
#include<bbexample.h>
int main()
{
int data;
data = get_data(); // this function is present in libbbexample.so
printf("data is %d",data);
return 0;
}
から提供される機能を使用するプログラムを書いている別の新しいレイヤーを作成しましたが、私は
do_compile() {
${CC} helloworld.c -o helloworld -libbbexample ${LDFLAGS}
}
do_install() {
install -d ${D}${bindir}
install -m 0755 helloworld ${D}${bindir}
}
を次のように新たな層の.BBファイルの内容がエラーに
"cannot find -libbbexample"
を取得しています
共有ライブラリを作成する古いレイヤーの優先度を6 、共有ライブラリ(.so)を7とする新しいレイヤーの優先度を設定しました。あなたが名前からlib
をトリミングする必要があり、あなたのgcc
コマンドにLIBを追加するには
おかげ
は、あなたがその層の依存関係を追加したことがありますか? –
古いレイヤーは.soファイルを生成するため、画像が生成されるときにのみ、依存関係の追加についてはわかりません。 –