2011-08-22 126 views
3

我已经安装了gst-rtsp-server,我想尝试一个简单的代码。但在编译时出现以下错误:Gst RTSP服务器编程

In function `main': 
test-launch01.c:(.text+0x64): undefined reference to `gst_rtsp_server_new' 
test-launch01.c:(.text+0x74): undefined reference to `gst_rtsp_server_get_media_mapping' 
test-launch01.c:(.text+0x7d): undefined reference to `gst_rtsp_media_factory_new' 
test-launch01.c:(.text+0x95): undefined reference to `gst_rtsp_media_factory_set_shared' 
test-launch01.c:(.text+0xad): undefined reference to `gst_rtsp_media_factory_set_launch' 
test-launch01.c:(.text+0xc9): undefined reference to `gst_rtsp_media_mapping_add_factory' 
test-launch01.c:(.text+0xe9): undefined reference to `gst_rtsp_server_attach' 
collect2: ld returned 1 exit status 

我已经包含了这两个头文件。我错过了什么?

回答

2

看来你还没有链接到lib。 “未定义的引用”通常意味着你已经包含了必要的头文件,但是链接器没有找到定义。

尝试增加:

`pkg-config gstreamer-rtsp-0.10 --libs` 

到链接器调用。

0

将gstreamer-rtsp-server-1.0添加到pkg-config。

0

运行

apt-get install libgstrtspserver-0.10-dev 

命令

pkg-config --libs gstreamer-rtsp-0.10 

返回后

-pthread -lgstrtsp-0.10 -lgstreamer-0.10 -lgstsdp-0.10 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lxml2 -lglib-2.0 

ls /usr/lib/libgstrtsp* 

返回

/usr/lib/libgstrtspserver-0.10.so 
/usr/lib/libgstrtspserver-0.10.so.0.0.0 
/usr/lib/libgstrtspserver-0.10.so.0 

所以,更换标志-lgstrtsp-0.10通过-lgstrtspserver-0.10解决了这个问题对我来说。