如何查看需要与我的Android应用程序链接的库?我的意思是我收到许多错误,例如error: undefined reference to 'function_name'
,我需要手动解决它们 - 找一些匹配库名称并将它们添加到我的项目中。但它并不总是有效,例如现在我尝试在Android上使用Gstreamer并获得一些未解决的依赖关系,我不知道这些函数位于哪个库中:
那么,我如何以及在哪里可以找到包含这些功能的库?
答案 0 :(得分:1)
我认为更好的方法是使用replf和grep,也许可以帮助查找..
find . -type f -name "*.so" | while read file; do echo $file; readelf -Ws $file | grep gst_preset_get_type; done
输出:
./ext/alsa/.libs/libgstalsa.so ./ext/theora/.libs/libgsttheora.so
./ext/cdparanoia/.libs/libgstcdparanoia.so ./ext/libvisual/.libs
/libgstlibvisual.so ./ext/ogg/.libs/libgstogg.so
49: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gst_preset_get_type
518: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gst_preset_get_type
...
./gst/encoding/.libs/libgstencodebin.so
37: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gst_preset_get_type
232: 0000000000000000 0 FUNC GLOBAL DEFAULT UND gst_preset_get_type
您可以在/ usr / lib中搜索..
也许你也错过了一些插件?尝试设置变量GST_PLUGINS_PATH,它应该指向包含gstreamer插件的目录(在运行时加载)