2011-08-22 124 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解決了這個問題對我來說。