Yocto-gcc无法找到共享库

时间:2016-11-08 07:22:00

标签: c embedded shared-libraries yocto .so

我有一个层,它在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的新层的优先级。

谢谢

1 个答案:

答案 0 :(得分:3)

要在gcc命令中添加lib,您必须从名称中修剪lib

更改

-libbbexample

-lbbexample

The man作为参考。

如果这还不够,您必须在.so示例之前编译并安装helloworld文件。您可以使用:

相关问题