jvoiplib中的examples的編譯和執行

2021-08-28 15:39:12 字數 1226 閱讀 9953

發現實時音訊傳輸也不是那麼簡單的,還是先學學別人的吧!jvoiplib是利用jrtplib做的,也便於以後的擴充套件應用。

1 . 安裝好jrtplib和jthread。此處步驟比較簡單,./configure  ; make  ; make install;   三板斧!  而注意一點的是,要先安裝jhtread,再安裝jrtplib,因為jrtplib的.configure會去檢查是否安裝了jthread,即是否支援多執行緒。(我在此就犯了個錯誤,是先安裝jrtplib的,導致後面安裝jvoiplib時,老報錯,多執行緒支援通不過。

2. 安裝好jvoiplib,步驟同上,當然還可以安裝一些其它的庫如:speex壓縮庫;libsndfile格式轉化庫等。

3.編譯example裡的檔案,如編譯local******.cpp  ,由於此程式的編譯要用到頭檔案的查詢,共享庫的連線等,我寫了個簡單的makefile:

incl = -i/usr/local/include/jvoiplib -i/usr/local/include/jthread     #增加標頭檔案的包含路徑

cflags = -pipe -o2 -fno-strength-reduce

lflags = /usr/local/lib/libjvoip.a -l/usr/x11r6/lib

libs = -lx11 -lxext -l /usr/local/lib -l jvoip -l /usr/local/lib -l jthread   #連線共享庫

cc = g++

object = local******

$(object):$(object).o

$(cc) $(lflags) $(incl) -o $(object) $(object).o $(libs)

$(object).o:$(object).cpp

.suffixes:.cpp

.cpp.o:

$(cc) -c $(cflags) $(incl) -o $@ $<      

clean:

rm -f main

rm -f *.o      

4. 執行

後面查到是因為連線了共享庫卻沒有加共享庫路徑,當然就找不到連線庫了。

執行命令:export ld_library_path=$ld_library_path:/usr/local/lib        

將共享庫路徑新增到收索路添中,即可。

程式終於能執行了,但仍然聽到不聲音,明天繼續努力!

Python中的descriptor中的一點疑問

在我的印象中,類中的函式是可以有兩種呼叫方式的,如下 class b def func self return 10 b b b.func b.func b 於是,在之前研究descriptor的時候,我就有了幾點困惑 我將 更換成了如下兩個版本 版本1 import time class lazy...

python中的dict Python中的dict

dict python內建了字典 dict的支援,dict全稱dictionary,在其他語言中也稱為map,使用鍵 值 key value 儲存,具有極快的查詢速度。d print dict get michael d michael add a element d adam 67 print d...

zset中的score Redis中的事務

watch 監控某個或幾個key的變化 multi 接下來的命令不會立馬執行,會先放入乙個事務的佇列中 exec 執行事務佇列中的命令 unwatch 可以在watch執行之後 multi命令執行之前執行,效果是解除對某個key的監控 discard 可以在multi命令執行之後exec命令執行之前...