1、問題描述:
原始編譯沒有問題,增加鏈接動態庫 -ltl_playermanager 后編譯報錯
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) --whole-archive -ltl_playermanager -O2 \
-lc $(LIBGCC);
$(RM) $(BINDIR)output/plugins/$(TARGET)
install -m 777 $(TARGET) $(BINDIR)output/plugins
3、編譯報錯:
Makefile:428: 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 -fPIC 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 -fPIC -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 -L../../../../build/tmp/sysroots/aud8516-slc/lib64 -L../../../../build/tmp/sysroots/aud8516-slc/usr/lib64 -lpthread -lm -ldl -lmad -lfaad -ltremor -lflac -logg -lgpg-error -lgcrypt -lmedia -lasound --whole-archive -ltl_playermanager -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;
/home/lixiangtao/kiwi_voice/build/tmp/sysroots/aud8516-slc/usr/lib64/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
/usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start'
/home/lixiangtao/kiwi_voice/src/tonlyapps/libffmpegplayer/libmedia/../../../../build/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ld: /home/lixiangtao/kiwi_voice/build/tmp/sysroots/aud8516-slc/usr/lib64/libc_nonshared.a(elf-init.oS): relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__init_array_start' can not be used when making a shared object; recompile with -fPIC
/usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_start'
/usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_end'
/home/lixiangtao/kiwi_voice/src/tonlyapps/libffmpegplayer/libmedia/../../../../build/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ld: /home/lixiangtao/kiwi_voice/build/tmp/sysroots/aud8516-slc/usr/lib64/libc_nonshared.a(elf-init.oS): relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `__init_array_end' can not be used when making a shared object; recompile with -fPIC
/usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:86: undefined reference to `__init_array_end'
/home/lixiangtao/kiwi_voice/src/tonlyapps/libffmpegplayer/libmedia/../../../../build/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ld: librender_audio_plugin.so: hidden symbol `__init_array_end' isn't defined
/home/lixiangtao/kiwi_voice/src/tonlyapps/libffmpegplayer/libmedia/../../../../build/tmp/sysroots/x86_64-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-ld: final link failed: Bad value
Makefile:428: recipe for target 'librender_audio_plugin' failed
make[1]: *** [librender_audio_plugin] Error 1
make[1]: Leaving directory '/home/lixiangtao/kiwi_voice/src/tonlyapps/libffmpegplayer/libmedia'
這個問題搞了好幾天了,在網上查說是鏈接-lsupc++ -lstdc++等庫,都不能解決。
求高人指點。
跪謝!
uj5u.com熱心網友回復:
你這個發C++區看看。uj5u.com熱心網友回復:
發現這個是個非問題,因為在編譯選項中加了--whole-archive,所以出現了這個問題,取消掉這個選項后,問題不在出現。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/50637.html
標籤:基礎類
上一篇:動態庫無法鏈接靜態庫
