【发布时间】:2016-11-08 07:22:00
【问题描述】:
我有一个层在 Yocto 的 usr/lib (libbbexample.so) 目录中创建一个共享库。该库包含几个函数。
所以我创建了另一个新层,我在其中编写了一个程序,该程序将使用 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;
}
所以我尝试 bitbake 新层,但我收到错误 "cannot find -libbbexample"
新建层的.bb文件内容如下
do_compile() {
${CC} helloworld.c -o helloworld -libbbexample ${LDFLAGS}
}
do_install() {
install -d ${D}${bindir}
install -m 0755 helloworld ${D}${bindir}
}
我已将创建共享库的旧层的优先级设置为 6 以及使用共享库 (.so) 的新层的优先级为 7。
谢谢
【问题讨论】:
-
你添加了那个层的依赖吗?
-
no我没有添加,因为老层会生成.so文件,只有生成图像时,我不知道添加依赖项
标签: c embedded shared-libraries yocto .so