LinPhone-SDK编译环境搭建以及初步编译(win10系统)(一)

2 篇文章 0 订阅

最近准备折腾下开源的sip通信客户端项目,打算编译下开源项目LinPhone-SDK,以备在win10系统中使用C#开发一款sip客户端,现在做下整理,准备开发环境搭建。

LinPhone-SDK项目代码地址为:LinPhone-SDK ,LinPhone版本为4.5.0,使用git克隆后,需要更新子模块。

使用的操作系统版本为win10 1909(18363)版本,需要安装一下环境:

  • MinGW
  • cmake-3.15.5
  • GetGnuWin32
  • JDK
  • NASM
  • doxygen
  • Python27(因为我要生成C#的封装类,所以使用2.7)
  • Pystache (use pip install pystache)
  • six (use pip install six)

以上的程序需要配置环境变量,把以上工具的bin目录配置到环境变量path中。

注意MinGW需要放在windows的C盘根目录,因为LinPhone-SDK的cmake文件中默认从C盘目录C://MinGW中读取MinGW的文件。

开发环境为visual studio 2017,需要安装一下环境,如图:

注意图中红框选中的组件,必须安装,否则会出现无法编译的情况。

cmake-gui配置项目

LinPhone-SDK项目克隆完毕后,为更方便直观的选择需要编译的功能组件,使用cmake的gui程序来配置项目,便于生成vs项目工程,如图:

可根据自己的需要勾选编译对应的模块。我这里需要使用C#来引用LinPhone-SDK,因此勾选了ENABLE_CSHARP_WRAPPER,编译后生成的LinphoneWrapper.cs在目录:build\linphone-sdk\desktop\share\linphonecs。

按步骤配置生成项目完毕后,使用vs打开项目工程,进行项目编译,在编译过程中,会进行编译环境的工具检查,具体还需要哪些编译工具,可以通过项目代码中的cmake文件查看:linphone-sdk\cmake-builder\cmake\CheckBuildTools.cmake,可以看到里面需要下载一个工具压缩包linphone_builder_windows_tools.zip,这个文件可能需要使用特别工具进行下载,(后面我会提供编译必须的文件),你可以单独下载linphone_builder_windows_tools.zip后把它放到自己的网站目录下,然后修改CheckBuildTools.cmake文件中对应的下载路径。或者在编译过程中开启VPN服务。简单的方法是把linphone_builder_windows_tools.zip文件放在目录:linphone-sdk-build\desktop中,并解压文件到目录programs中,然后根据你的编译平台的版本(64位或者32位),把对应的文件yasm重命名为yasm.exe。

另外,因为MinGW放在了C盘,所以在编译后期,可能会出现文件pkg-config.exe无法复制到C盘的错误,你可以手动复制后再进行编译。

这样,基本的编译环境就搭建完成了。后面再总结下编译过程中出现的问题。

编译环境所需的工具以及源码:

链接:https://pan.baidu.com/s/1es2JlejrGrV5Eo4mKz5R3g 提取码:8o5y

 使用cmake-gui进行功能模块编译配置,使用cmake命令编译如下:在源码目录下创建目录build,进入目录build,打开cmd窗口,输入以下命令进行编译:

cmake --build . --target sdk --config RelWithDebInfo -- /maxcpucount /nodeReuse:true /p:TrackFileAccess=false

 cmake编译指令

使用vs进行项目生成的话,容易出现文件编码的问题,导致无法生成object文件的错误,因此直接使用cmake命令进行编译,以下为LinPhone-SDK的编译参数,根据需要自行添加即可:

-DCMAKE_INSTALL_PREFIX=D:/linphone-sdk/build/linphone-sdk/desktop
-DCMAKE_PREFIX_PATH=D:/linphone-sdk/build/linphone-sdk/desktop
-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON
-DLINPHONE_BUILDER_WORK_DIR=D:/linphone-sdk/build/WORK/desktop
-DLINPHONE_BUILDER_EXTERNAL_SOURCE_PATH=D:/linphone-sdk
-DLINPHONE_BUILDER_CONFIG_FILE=configs/config-desktop.cmake
-DENABLE_AAUDIO=OFF
-DENABLE_ADVANCED_IM=ON
-DENABLE_AMRNB=OFF
-DENABLE_AMRWB=OFF
-DENABLE_ASSETS=ON
-DENABLE_BV16=ON
-DENABLE_CAMERA2=OFF
-DENABLE_CODEC2=OFF
-DENABLE_CSHARP_WRAPPER=YES
-DENABLE_CXX_WRAPPER=ON
-DENABLE_DB_STORAGE=ON
-DENABLE_DEBUG_LOGS=OFF
-DENABLE_DOC=OFF
-DENABLE_EMBEDDED_OPENH264=OFF
-DENABLE_FFMPEG=OFF
-DENABLE_G726=OFF
-DENABLE_G729=ON
-DENABLE_G729B_CNG=OFF
-DENABLE_GPL_THIRD_PARTIES=ON
-DENABLE_GSM=ON
-DENABLE_GTK_UI=OFF
-DENABLE_H263=OFF
-DENABLE_H263P=OFF
-DENABLE_HW_SANITIZER=OFF
-DENABLE_ILBC=OFF
-DENABLE_ISAC=OFF
-DENABLE_JAVA_WRAPPER=OFF
-DENABLE_JAZZY_DOC=OFF
-DENABLE_JPEG=ON
-DENABLE_LIME=OFF
-DENABLE_LIME_X3DH=ON
-DENABLE_MBEDTLS=ON
-DENABLE_MDNS=OFF
-DENABLE_MKV=ON
-DENABLE_MPEG4=OFF
-DENABLE_NLS=OFF
-DENABLE_NON_FREE_CODECS=YES
-DENABLE_OPENH264=YES
-DENABLE_OPUS=ON
-DENABLE_PCAP=OFF
-DENABLE_POLARSSL=OFF
-DENABLE_QRCODE=OFF
-DENABLE_RTP_MAP_ALWAYS_IN_SDP=OFF
-DENABLE_SANITIZER=OFF
-DENABLE_SILK=OFF
-DENABLE_SOCI_MYSQL=OFF
-DENABLE_SPEEX=ON
-DENABLE_SQLITE=ON
-DENABLE_SRTP=ON
-DENABLE_SWIFT_WRAPPER=OFF
-DENABLE_SWIFT_WRAPPER_COMPILATION=OFF
-DENABLE_TOOLS=ON
-DENABLE_TUNNEL=OFF
-DENABLE_UNIT_TESTS=OFF
-DENABLE_UNMAINTAINED=OFF
-DENABLE_UPDATE_CHECK=OFF
-DENABLE_V4L=OFF
-DENABLE_VCARD=ON
-DENABLE_VIDEO=ON
-DENABLE_VPX=ON
-DENABLE_WASAPI=ON
-DENABLE_WEBRTC_AEC=ON
-DENABLE_WEBRTC_AECM=OFF
-DENABLE_WEBRTC_VAD=OFF
-DENABLE_X264=OFF
-DENABLE_XML2=ON
-DENABLE_ZLIB=ON
-DENABLE_ZRTP=ON

执行编译配置进入到build目录,右键打开cmd:

cmake .. -G "Visual Studio 15 2017" -DLINPHONESDK_PLATFORM=Desktop -DENABLE_CSHARP_WRAPPER=YES -DENABLE_NON_FREE_CODECS=YES -DENABLE_OPENH264=YES -DENABLE_G726=YES  -DENABLE_QRCODE=YES -DENABLE_UNIT_TESTS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo

配置完成后,如果没有错误提示,则进行编译指令:

cmake --build . --target sdk --config RelWithDebInfo -- /maxcpucount /nodeReuse:true /p:TrackFileAccess=false

正常情况下可以编译通过,不会出现文件编码的问题。

编译版本4.4.28,SDK文件下载链接为:

LinPhone SDK 4.4.28 win32 下载

官方SDK下载地址为:

LinPhone SDK 官网下载

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值