简体   繁体   English

建立共享库时,Libtool丢弃静态库

[英]Libtool Discards Static Library When Building Shared Library

I am trying to build a shared object for gstreamer. 我正在尝试为gstreamer构建共享对象。 I have a static library that I need to link into it. 我有一个静态库,需要链接到它。

I have tried many things, but no matter what libtool discards my shared library. 我已经尝试了很多事情,但是无论libtool放弃了我的共享库。

I tried: 我试过了:

  1. -Wl,--whole-archive ${EZSDK}/linux-devkit/arm-none-linux-gnueabi/usr/lib/ti/sdo/linuxutils/cmem/lib/cmem.a470MV -Wl,--no-whole-archive But libtool simply removes it and shows -Wl,--whole-archive -Wl,--no-whole-archive -Wl,--whole-archive ${EZSDK}/linux-devkit/arm-none-linux-gnueabi/usr/lib/ti/sdo/linuxutils/cmem/lib/cmem.a470MV -Wl,--no-whole-archive但libtool只是将其删除并显示-Wl,--whole-archive -Wl,--no-whole-archive

  2. I tried to add it to mylib_la_LIBADD=$(EZSDK)/linux-devkit/arm-none-linux-gnueabi/usr/lib/ti/sdo/linuxutils/cmem/lib/cmem.a470MV but that also did not work. 我试图将其添加到mylib_la_LIBADD=$(EZSDK)/linux-devkit/arm-none-linux-gnueabi/usr/lib/ti/sdo/linuxutils/cmem/lib/cmem.a470MV但这也没有用。 The libtool echo shows the cmem.a470MV but when it executes the link, the archive is gone. libtool回显显示cmem.a470MV,但执行链接时,存档已消失。

Could anyone offer any suggestions? 有人可以提供任何建议吗?

I solved this by giving libtool the finger and specifying 我通过给libtool手指并指定

-Wl,--whole-archive -Wl,${EZSDK}/linux-devkit/arm-none-linux-gnueabi/usr/lib/ti/sdo/linuxutils/cmem/lib/cmem.a470MV -Wl,--no-whole-archive

Alternatively, you can: 或者,您可以:

-Wl,--whole-archive,${EZSDK}/linux-devkit/arm-none-linux-gnueabi/usr/lib/ti/sdo/linuxutils/cmem/lib/cmem.a470M,--no-whole-archive

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM