Makefile ffdec_h264(视频解码器)未找到GstElement,libgstffmpeg.so已链接,在命令行gcc中可以正常工作,但在cmake中不能

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

MyApp.c文件中的一些行

使用命令行gcc编译时,它编译/运行得非常好

gcc-o app MyApp.c`pkg config--cflags--libs gstreamer-0.10 gstreamer-app-0.10`

现在我想使用cmake(和其他人一样!),因此在尝试了堆栈溢出的各种方法之后,添加了一些奇特的线条,所有这些都导致了一些错误,如

错误:断言“视频解码器”失败

问题1-
这里可能有什么问题,我以与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/)