动态库无法链接静态库

花事不了 2017-12-21 04:43:01
1、gcc和ld版本如下:
lixiangtao@ubuntu:~/kiwi_voice/src/tonlyapps/libffmpegplayer$ ld --version
GNU ld (GNU Binutils for Ubuntu) 2.26.1
Copyright (C) 2015 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.
lixiangtao@ubuntu:~/kiwi_voice/src/tonlyapps/libffmpegplayer$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.5) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

2、问题:无法成功链接静态库:
(1)原始makefile片段:
librender_audio_plugin: TARGET := librender_audio_plugin.so
librender_audio_plugin: $(OBJS-RENDER-AUDIO)
$(warning suh25ssssssssssssssssssssssssssssss $(LD) ssssssssssssssssssssssssss)
$(LD) -o $(TARGET) $(OBJS-RENDER-AUDIO) $(LDFLAGS) $(LIBS) -O2 \
-lc $(LIBGCC);
$(RM) $(BINDIR)output/plugins/$(TARGET)
install -m 777 $(TARGET) $(BINDIR)output/plugins
(2)增加链接静态库后的makefile片段:
librender_audio_plugin: TARGET := librender_audio_plugin.so
librender_audio_plugin: $(OBJS-RENDER-AUDIO)
$(warning suh25ssssssssssssssssssssssssssssss $(LD) ssssssssssssssssssssssssss)
$(LD) -o $(TARGET) $(OBJS-RENDER-AUDIO) $(LDFLAGS) $(LIBS) -ltl_playermanager -lavformat -lavcodec -lavutil -O2 \
-lc $(LIBGCC);
$(RM) $(BINDIR)output/plugins/$(TARGET)
install -m 777 $(TARGET) $(BINDIR)output/plugins
在链接时增加了4个静态库-ltl_playermanager -lavformat -lavcodec -lavutil ,无论这4个静态库是否存在,编译都不会报错,生成的动态库大小也不会变化。
3、编译过程如下:
Makefile:427: suh25ssssssssssssssssssssssssssssss /home/lixiangtao/kiwi_voice/src/tonlyapps/libffmpegplayer/libmedia/../../../../build/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ld -shared ssssssssssssssssssssssssss
/home/lixiangtao/kiwi_voice/src/tonlyapps/libffmpegplayer/libmedia/../../../../build/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ld -shared -o librender_audio_plugin.so component/render/alsa.o component/render/format.o component/render/chmixer.o component/render/iis_driver.o component/render/snd_driver.o -L../output/bin -L../output/lib --hash-style=gnu -lpthread -lm -ldl -lmad -lfaad -ltremor -lflac -logg -lgpg-error -lgcrypt -lmedia -lasound -ltl_playermanager -lavformat -lavcodec -lavutil -O2 \
-lc /home/lixiangtao/kiwi_voice/src/tonlyapps/libffmpegplayer/libmedia/../../../../build/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/../../../../aud8516-slc-tcbootstrap/usr/lib64/aarch64-poky-linux/6.2.0/libgcc.a;
rm -f ../output/plugins/librender_audio_plugin.so
install -m 777 librender_audio_plugin.so ../output/plugins

搞了好几天了,毫无进展,求大神帮忙。

跪谢!
...全文
530 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
花事不了 2017-12-25
  • 打赏
  • 举报
回复
链接成功了,但生成的文件大小并没有增大,生成的文件里面也没有新的符号
花事不了 2017-12-22
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
[quote=引用 4 楼 huashibuliao 的回复:] [quote=引用 2 楼 zhao4zhong1 的回复:] C Run-Time Libraries https://msdn.microsoft.com/en-us/library/abx4dbyh.aspx
我这是linux gcc啊![/quote] 原理是共通的。[/quote] 看不懂啊,求指点啊!
赵4老师 2017-12-22
  • 打赏
  • 举报
回复
引用 4 楼 huashibuliao 的回复:
[quote=引用 2 楼 zhao4zhong1 的回复:] C Run-Time Libraries https://msdn.microsoft.com/en-us/library/abx4dbyh.aspx
我这是linux gcc啊![/quote] 原理是共通的。
花事不了 2017-12-22
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
C Run-Time Libraries https://msdn.microsoft.com/en-us/library/abx4dbyh.aspx
我这是linux gcc啊!
ooolinux 2017-12-21
  • 打赏
  • 举报
回复
人家都gcc老赵还微软
赵4老师 2017-12-21
  • 打赏
  • 举报
回复
花事不了 2017-12-21
  • 打赏
  • 举报
回复
(2)增加链接静态库后的makefile片段: librender_audio_plugin: TARGET := librender_audio_plugin.so librender_audio_plugin: $(OBJS-RENDER-AUDIO) $(warning suh25ssssssssssssssssssssssssssssss $(LD) ssssssssssssssssssssssssss) $(LD) -o $(TARGET) $(OBJS-RENDER-AUDIO) $(LDFLAGS) $(LIBS) -ltl_playermanager -lavformat -lavcodec -lavutil -O2 \ -lc $(LIBGCC); $(RM) $(BINDIR)output/plugins/$(TARGET) install -m 777 $(TARGET) $(BINDIR)output/plugins

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧