linphone-desktop 4.2 windows端的編譯心得


上周五接到領導安排,說需要調用linphone sdk實現sip的視頻通話,對於我來說,官方那里可用的是linphone-sdk和linphone-desktop兩個工程,由於是頭一次接觸開源代碼,我本身還是挺怵的,但是作為一名程序員,要迎難而上!
今天是周二,所幸昨天就已經把desktop的工程編譯通過了

環境配置參考 https://www.jianshu.com/p/51c6629af1a4

gitlab上的源碼鏈接 https://gitlab.linphone.org/BC/public/linphone-desktop

准備工作

首先參考官方給的 README.md 。里面只提到了非常非常基本的庫的安裝,除此之外還要安裝大量的庫。
所有庫都裝在默認的C盤

1.VS 2015

安裝時勾選以下選項

  • Windows Universal Platform development
  • Desktop C++ Development
  • .NET Development
  • Windows 8.1 SDK

2.Qt5.9及以上版本,設置對應環境變量

Qt5_DIR="C:\Qt\5.9\msvc2015\lib\cmake"
PATH="C:\Qt\5.9\msvc2015\bin;%PATH%"

安裝時勾選msvc2015

3.MinGW

安裝

  • mingw32-base-bin
  • mingw32-gcc-g++-bin
  • msys-base-bin

將其bin目錄添加到系統環境變量Path中

以上只是官方提到的,除此之外還需要安裝:

4.cmake

https://cmake.org/download/ 下載cmake二進制文件
解壓文件后將cmake下的bin目錄添加到系統環境變量Path中,可使用cmake -version進行校驗是否安裝成功。

5.安裝python2.7

https://www.python.org/downloads/ 下載python2.7 msi版本安裝器
安裝完畢之后,將安裝目錄python2.7添加到系統環境變量Path中,可使用python -v進行校驗。
為了使用pip,需要同時將python2.7\Scripts也添加到環境變量Path中。

6.安裝doxygen

http://www.doxygen.nl/download.html 下載
安裝完畢后,將doxygen/bin添加到系統環境變量Path中,可使用doxygen -v進行校驗

7.安裝dot (graphviz)

https://graphviz.gitlab.io/_pages/Download/Download_windows.html 下載
解壓后,將graphviz-2.38\release\bin添加到環境變量Path中

8.安裝pystache

https://pypi.org/simple/pystache/ 下載pystache-0.5.4.tar.gz
打開cmd,定位到壓縮包所在文件夾,使用pip進行安裝
pip install pystache-0.5.4.tar.gz

9.安裝wheel

https://pypi.org/simple/wheel/ 下載 wheel-0.29.tar.gz
打開cmd,定位到壓縮包所在文件夾,使用pip進行安裝

10.安裝GetGnuWin32

https://sourceforge.net/projects/getgnuwin32/files/latest/download 下載安裝,將其bin目錄添加到系統環境變量中

11.安裝javajdk

按照百度經驗正確配置環境變量,使用java命令檢驗是否成功

編譯開始(生成VS工程文件)

使用在代碼根目錄使用以下指令進行vs工程文件生成

python prepare.py -G "Visual Studio 14 2015" -DENABLE_DOC=OFF

報錯,提示文件不全,分布使用git submodule sync 和 git submodule update --init –recursive遞歸的下載全部內容,全部下載完成之后有1個多G,我在公司的網不好,就回家下載的。
全部下載之后,再次執行

python prepare.py -G "Visual Studio 14 2015" -DENABLE_DOC=OFF

即可生成成功

如果沒成功,我第二次在新設備上生成時,報了pkg.m4,libglib-2.0-0.dll,intl.dll這三個文件重命名錯誤,我理解也就是文件移動失敗。
第一次我將工程放在了C盤里沒有這個問題,第二次,我打開CheckBuildTools.cmake查看報錯的行,手動將這三個文件放到指定目錄之后,刪掉報錯的那三行,再生成,生成成功!

編譯工程

打開linphone-desktop\WORK\desktop\cmake\project.sln文件,將版本設置為win32 release,編譯ALL_BUILD工程

報錯

CMake Error at CMakeLists.txt:84 (check_symbol_exists):
Unknown CMake command "check_symbol_exists".

網上搜了一下,是在CMAKELIST文件里沒有包括相關的文件導致,打開“linphone-desktop\linphone-sdk\ortp\CMakeList.txt”
加入一行

include(CheckSymbolExists)

即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM