美文网首页
freeswitch windows下编译运行

freeswitch windows下编译运行

作者: dhz120 | 来源:发表于2023-01-16 09:44 被阅读0次

1. Windows下编译运行

1.1. 准备

  • freeswitch-1.10.8.tar.gz

  • visual studio 2017

说明:

visual studio 需要安装:

image.png
image.png
image.png

1.2. 编译

使用visual studio 打开 freeswitch-1.10.8项目。注意,这里我们采用x64编译:

image.png

1.2.1. 编译FreeSwitchCoreLib模块

在“FreeSwitchCoreLib”模块上右键,点“生成”按钮。

image.png

以下为遇到的编译问题及解决方案:

1.2.1.1. MSB4018 “DownloadPackageTask”任务意外失败

问题描述:

|

严重性 代码 说明 项目 文件 行 禁止显示状态

错误 MSB4018 “DownloadPackageTask”任务意外失败。

System.IO.DirectoryNotFoundException: 未能找到路径“E:\svn\talkback\server\freeswitch-1.10.8\libs\sofia-sip-master”的一部分。

在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

在 System.IO.Directory.InternalMove(String sourceDirName, String destDirName, Boolean checkHost)

在 System.IO.Directory.Move(String sourceDirName, String destDirName)

在 DownloadPackageTask.Execute() 位置 c:\Users\simple\AppData\Local\Temp\hv3nc4br.0.cs:行号 148

在 Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()

在 Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() libsofia_sip_ua_static E:\svn\talkback\server\freeswitch-1.10.8\w32\download_sofia-sip.props 31

|

分析:

可能是网速问题或者是需要翻墙,导致libs\sofia-sip-master下载失败

解决方案:

1. 从visual studio 输出中找到 sofia-sip的下载地址“https://github.com/freeswitch/sofia-sip/archive/master.zip

2. 手动下载后,将压缩包放在freeswitch-1.10.8\libs目录下,解压

3. 在visual studio中,重新点“生成”进行编译

1.2.1.2. 未给任务“SwitchVersionTask”的必需参数“revision”赋值

解决方案:修改“freeswitch-1.10.8\w32\switch_version.props”,将GitCommits注释掉。示意如下:

|

<Target Name="SwitchVersionTarget" BeforeTargets="CustomBuild;Build">

</Target>

|

1.2.1.3. 无法打开包括文件: “switch_version.h”: No such file or directory FreeSwitchCoreLib

分析:

因为下载的是git 上托管的项目,没有版本信息,需要自己根据template 自己定义。

解决方案:

1. 切换目录到:freeswitch-1.10.8\src\include

2. 拷贝switch_version.h.template,重命名switch_version.h

3. 按实际版本号进行修改

|

define SWITCH_VERSION_MAJOR "1"

define SWITCH_VERSION_MINOR "10"

define SWITCH_VERSION_MICRO "8"

define SWITCH_VERSION_REVISION "" "~" _fs__bits

define SWITCH_VERSION_REVISION_HUMAN "" " " _fs__bits

define SWITCH_VERSION_FULL SWITCH_VERSION_MAJOR "." SWITCH_VERSION_MINOR "." SWITCH_VERSION_MICRO SWITCH_VERSION_REVISION

define SWITCH_VERSION_FULL_HUMAN SWITCH_VERSION_MAJOR "." SWITCH_VERSION_MINOR "." SWITCH_VERSION_MICRO " " SWITCH_VERSION_REVISION_HUMAN

|

4. 在visual studio中,重新点“生成”进行编译

1.2.1.4. cannot open include file 'switch_version.inc'

分析:

因为下载的是git 上托管的项目,没有版本信息,需要自己根据template 自己定义。

解决方案:

1. 切换目录到:freeswitch-1.10.8\w32\Library

2. 拷贝switch_version.inc.template,重命名switch_version.inc

3. 按实际版本号进行修改

|

define TOSTR(x) #x

define STR(x) TOSTR(x)

define SWITCH_VERSION_MAJOR 1

define SWITCH_VERSION_MAJOR_STR STR(SWITCH_VERSION_MAJOR)

define SWITCH_VERSION_MINOR 10

define SWITCH_VERSION_MINOR_STR STR(SWITCH_VERSION_MINOR)

define SWITCH_VERSION_MICRO 8

define SWITCH_VERSION_MICRO_STR STR(SWITCH_VERSION_MICRO)

define SWITCH_VERSION_REVISION ""

define SWITCH_VERSION_REVISION_HUMAN ""

define SWITCH_VERSION_YEAR "2022"

define SWITCH_VERSION_ALL "1.10.8"

|

4. 在visual studio中,重新点“生成”进行编译

1.2.2. 编译FreeSwitchConsole模块

在“FreeSwitchConsole”模块上右键,点“生成”按钮。

image.png

1.2.3. 编译Frwwswitch.2017

在“Freeswitch.2017”上右键,点“生成解决方案”按钮。

image.png

1.3. 运行

运行是遇到问题:

1.3.1. 无法查找或打开PDB文件

我们可以通过对 VS 做适当的设置,使之能够查找到相应的 PDB 文件,具体步骤如下(这里我们以 VS2017 为例进行说明,其它版本的 VS 操作步骤也一样)。 1) 选择菜单栏中的“调试--> 选项”,如下图所示:

image.png
  1. 弹出“选项”对话框后,选择“调试 --> 常规”,在右侧选项栏中勾选“启用源服务器支持”(包含的 3 个子选项不用勾选),此时会弹出一个安全警报框,选择“是”即可,如下图所示:
image.png
  1. 还是在“选项”对话框中,选择“调试 --> 符号”,在右侧选项栏中勾选“Microsoft符号服务器”,此时会弹出一个提示对话框,点击“确定”即可。同时,对于缓存符号的目录,选择图示中的目录(目录可以为空)即可:
image.png
  1. 确定之后,重新运行你的程序,首次运行时,由于编译器会加载所有动态链接库的pdb文件,可能会等到几秒钟。程序运行后,之前输出窗口中的“无法查找或打开pdb文件”的提示不见了

相关文章

  • freeswitch windows下编译运行

    1. Windows下编译运行 1.1. 准备 freeswitch-1.10.8.tar.gz visual s...

  • go交叉编译

    1. Windows下 编译为Linux可运行文件 编译为MAC可运行文件 编译为Window可运行文件 2. M...

  • Cpp hello world!

    windows系统如何在命令行下编译并运行一个cpp程序? 首先,需要一个编译器,gcc。Windows下可以安装...

  • freeSwitch入门

    阅读《FreeSWITCH 权威指南》笔记。 简单使用 windows 安装 FreeSwitch 自己的电脑系统...

  • Windows下编译运行zookeepr源码

    参考转载: https://zhuanlan.zhihu.com/p/140302047 从git获取源码 最新版...

  • GO 在Mac上编译可运行的Linux, Windows

    在Mac上编译可运行在Linux, Windows上的GO程序 编译运行在 amd64位 linux系统 编译运行...

  • Lazarus Indy RunError错误

    有一段代码,在Windows+Delphi下编译正常 Linux+Lazarus编译正常,运行时出错 proced...

  • freeswitch安装

    在ubuntu 20.04 下安装 freeswitch 1.10.7 安装依赖 安装需要通过源码编译的依赖 安装...

  • Golang交叉编译

    一、Mac下编译Linux 和 Windows 二、Windows下编译Mac和Linux 三、Linux下编译M...

  • Golang 编译zhmakeindex

    windows 下的没有问题, mac下好像不能运行. 故尝试重新编译. 参考官方安装go. 编译zhmakein...

网友评论

      本文标题:freeswitch windows下编译运行

      本文链接:https://www.haomeiwen.com/subject/vydzcdtx.html