1. 程式人生 > >Linphone 3.7.0 for mingw 編譯安裝

Linphone 3.7.0 for mingw 編譯安裝

前言

     接著講這個,前面在mingw上成功編譯了linphone 3.5.2版本,執行基本都沒發現有問題。後面就開始編譯最新版本linphone,編譯這個第一步是必須獨自編譯安裝belle-sip 1.3.0,編譯這個必須先編譯安裝antlr 相應版本(官方文件寫的是3.2或者3.4),和cunit2.

編譯安裝antlr很順利,但編譯belle-sip時,一直提示一個error:未定義的未定義 antlr3NewAsciiStringCopyStream,或者就是衝突定義的未定義 antlr3NewAsciiStringCopyStream,反正就這個一個警告,或者是錯誤,直接導致編譯不能繼續。

於是我各種重新安裝antrl,安裝antrl3.jar,均無濟於事,百度毛豆沒有,google到有幾個遇到同樣問題的外國開發者提出這個問題,但無人回答。我全盤搜尋這個東西,沒有,但我明明已經安裝官方指定版本安裝了,怎麼會沒有,於是各種折騰,修改configure,修改configure.ac等等等等,均徒勞。於是我向領導申請,為不耽誤整體進度,先放放linphone3.7.0的編譯,先用3.5.2,領導表示同意。這樣可以減少我的心裡壓力。當然,研究linphone原始碼才是重頭啊。安裝我多年的經驗,當噴到灰常蛋疼的,多番努力均不效果的問題時,可以先放幾天,或者期間試著去解決,問題一般都會得到解決。

其實,查詢到有一個巨集判斷,如果沒有定義某個變數,就antlr3NewAsciiStringCopyStream,於是我自己在前面定義了一個該巨集,結果這個問題過了,編譯繼續,當然後面也會遇到別的error,但我總感覺這樣做不好。

週四,開始折騰這個問題的第四天,繼續google antlr3NewAsciiStringCopyStream,發現有一句話,翻譯過來就是這個關鍵字是antlr 3.4裡已經gone了,而在3.2裡繼續保留。臥槽。

後面換了版本,這個就沒了。這說明了一個什麼問題,google時太大意,不留心細節資訊。

後面又出現新的error,說不能連線到靜態庫libantrl3.la

,只能使用動態庫,動的人都知道,.la不是靜態庫,而就是動態庫,是libtool生成的動態庫,這個是我次日才知道了,碰到這個問題第一天的時候也各種configure過。那問題出在什麼地方呢,於是file命了,檢視libantrl3.la,結果windos 報缺少msy-magic-1.dll,所以msys才把動態庫當靜態庫處理,於是google baidu 這個dll檔案,沒有。沒辦法,最後直接rmlibantrl3.la這個檔案,過了,狂汗,先這樣過吧,沒辦法。

繼續編譯,出現沒cunit的標頭檔案,cuint這個東西我根本就配置都不過,問題一大推,於是重新下了一個不知道行不行,反正編譯很順利,於是系統提示無什麼我就cp什麼進去,最後過了,最後linphone3.7.0 for mingw就這樣編譯通過了。

當然期間還碰到其他很多問題,但均沒有費多少時間,所以這裡不在敘述。

本人qq994796397,可以一起討論研究。歡迎轉載,但請標明出處http://blog.csdn.net/l_yangliu/article/details/24464229