Libtool在构建共享库时丢弃静态库

时间:2012-10-03 18:48:03

标签: c++ static shared automake libtool

我正在尝试为gstreamer构建一个共享对象。我有一个静态库,我需要链接到它。

我尝试了很多东西,但无论libtool丢弃了我的共享库。

我试过了:

  1. -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. 我尝试将其添加到mylib_la_LIBADD=$(EZSDK)/linux-devkit/arm-none-linux-gnueabi/usr/lib/ti/sdo/linuxutils/cmem/lib/cmem.a470MV,但这也无效。 libtool echo显示了cmem.a470MV但是当它执行链接时,存档就消失了。

  3. 有人可以提出任何建议吗?

1 个答案:

答案 0 :(得分:0)

我通过给手指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

或者,您可以:

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