可以看出,有时如果我们选择一个软件包,我们会从buildroot中得到这个奇怪的错误,说找不到/lib/libc.so.0。进一步的探测是在libc.so中定义的,在$(STAGING_STUDIO)/usr/lib中找到;如果我们改变绝对路径,
GROUP(/lib/libc.so.0/usr/lib/uclibc_nonshared.a AS_NEEDED(/lib/ld-uClibc.so.0))
相对路径的含义如下:
GROUP(../../lib/libc.so.0../usr/lib/clibc_nonshared.a AS_NEEDED(../../lib/ld-uClibc.so.0))
编译通过。问?这是否是解决这个问题的正确方法?或者我们需要做一些改变,以便这个文件得到正确生成?;感谢任何解决方案。
2条答案
按热度按时间jmo0nnb31#
你是否在使用外部工具链?不使用autotools Makefile的软件包是否会出现这种情况?
我想你可能需要通过目标_(CFLAGS| LDFLAGS)中。
例如:
CFLAGS="$(TARGET_CFLAGS)”LDFLAGS="$(TARGET_LDFLAGS)”$(MAKE)-C $(PACKAGE_SRCNOW)
sy5wg1nm2#
库已安装在:xyz/buildroot/output/host/usr/lib
如果你想链接到一个给定的目录中的已安装的库,那么你必须使用libtool,并指定库的完整路径名,或者在链接过程中使用“-LLIBtool”标志,并至少执行以下操作之一:
有关共享库的详细信息,请参阅任何操作系统文档,例如ld(1)和ld.so(8)手册页。