Makefile ffdec_h264(视频解码器)未找到GstElement,libgstffmpeg.so已链接,在命令行gcc中可以正常工作,但在cmake中不能
MyApp.c文件中的一些行 使用命令行gcc编译时,它编译/运行得非常好 gcc-o app MyApp.c`pkg config--cflags--libs gstreamer-0.10 gstreamer-app-0.10` 现在我想使用cmake(和其他人一样!),因此在尝试了堆栈溢出的各种方法之后,添加了一些奇特的线条,所有这些都导致了一些错误,如 错误:断言“视频解码器”失败 问题1-Makefile ffdec_h264(视频解码器)未找到GstElement,libgstffmpeg.so已链接,在命令行gcc中可以正常工作,但在cmake中不能,makefile,cmake,h.264,gstreamer,shared-libraries,Makefile,Cmake,H.264,Gstreamer,Shared Libraries,MyApp.c文件中的一些行 使用命令行gcc编译时,它编译/运行得非常好 gcc-o app MyApp.c`pkg config--cflags--libs gstreamer-0.10 gstreamer-app-0.10` 现在我想使用cmake(和其他人一样!),因此在尝试了堆栈溢出的各种方法之后,添加了一些奇特的线条,所有这些都导致了一些错误,如 错误:断言“视频解码器”失败 问题1- 这里可能有什么问题,我以与gcc compile命令相同的方式包含/链接 所以,我试着检查ffde
这里可能有什么问题,我以与gcc compile命令相同的方式包含/链接 所以,我试着检查
ffdec_h264
实际上在哪里,以及正常的gcc编译命令会从哪里拾取它
$gst-inspect-0.10 ffdec_h264
导致
插件详细信息:
Name: ffmpeg
Description: All FFmpeg codecs and formats (local snapshot)
Filename: /usr/lib/gstreamer-0.10/libgstffmpeg.so
Version: 0.10.12
License: LGPL
Source module: gst-ffmpeg
Binary package: FFmpeg
Origin URL: http://ffmpeg.org/
该元素存在于/usr/lib/gstreamer-0.10/libgstffmpeg中
我试图确认,因此在命令行上运行了pkg config--cflags--libs-gstreamer-0.10-gstreamer-app-0.10
,得到了
-pthread-I/usr/local/include/gstreamer-0.10-I/usr/include/glib-2.0-I/usr/lib/i386-linux-gnu/glib-2.0/include-I/usr/include/libxml2-pthread-L/usr/local/lib-lgstapp-0.10-lgstbase-0.10-lgstreamer-0.10-lgobject-2.0-lgmodule-2.0-lgthread-2.0-lrmult-lxmlx2-lg-lg-2.0-lg-lg-lg-2.0
问题2-(优先级较低)
我没有看到gstffmpeg共享对象从上面的pk config链接,但是使用gcc的编译工作正常,代码运行良好。怎么做
但是,使用cmake进行相同的编译/运行似乎对我不起作用
除了普通的东西,我在CMakeLists.txt中还有下面的一行
find_library(GST_FFMPEG_LIBRARIES NAMES gstffmpeg PATHS /usr/lib/gstreamer-0.10/)
然后链接它,参考
问题3-
既然我已经链接了ffdec_h264所在的确切名称,为什么它会给出相同的错误element not found。你能告诉我一些调试选项来挖掘更多或者这里可能有什么问题吗?试试这个:也试过了,运气不好。我必须弄清楚一些奇怪的事情。
find_library(GST_FFMPEG_LIBRARIES NAMES gstffmpeg PATHS /usr/lib/gstreamer-0.10/)