首页 > 其他分享 >一个完整的编译Ptlib.Opal 的教程

一个完整的编译Ptlib.Opal 的教程

时间:2023-05-05 10:14:44浏览次数:34  
标签:src 教程 lib .. ptlib Opal 编译 Ptlib opal

想到以前你第一次到我家的情景.有点伤感.还是把它埋在内心深处吧

好好的生活.努力把音视频的知识打扎实。
接下来的时间就好好研究 ptlib和Opal的知识。并把学习的过程记录下来


1.从开源中国下载Ptlib最新的版本.ptlib-2.8.0-src.zip
2.先单独编译Configure分别用Debug和Release 的版本.记得是仅编译(Configure项目).要不然会等待很长的编译时间.默认单击运行 在VS20005会编译该解决方案中所有的项目
3.然后编译MergeSym项目。把生成的MergeSym.exe可执行文件 复制到\ptlib\src\ptlib\msos文件下面.
要不然编译PTLib DLL会报错.下面是报错的信息报告
"错误 1 error PRJ0019: 工具从"Merging symbols ..." PTLib DLL" 
4.编译 PTLib Static 则不用依靠 MergeSym.exe程序
5.最好生成的库文件有.放在Lib目录下面
  (PTLib Static的Debug和Release版本) ptlibsd.lib,ptlibs.lib
  (PTLib DLL的Debug和Release版本) (PTLibd.lib.PTLibd.dll) (PTLib.lib.PTLib.dll )
6.包含文件为\ptlib\include
7.dnstest,dtmftest等等项目 必须设置库文件的路径和头文件的路径.(..\..\include,..\..\lib)
8.该解决方案中有些项目依赖外部的库.目前编译不了.例如.ldaptest,paec,pxmlTest,vxmltest,xmlrpc
  xmlrpcsrvr,xmpptest。把这些项目暂时从该解决方案卸载出去.等以后哥研究透了.再看看是怎么编译的


编译opal
1.从开源中国下载Ptlib最新的版本.opal-3.8.0-src
2.打开opal-3.8.0-src\opal\opal_samples_2005.sln.会提示加载ptlib\src\ptlib\msos\ptlib_2005.vsproj.失败.原因是该项目还没有和ptlib项目联系在一起.暂时不管.按确定即可
3.把ptlib-2.8.0-src该文件夹下面的ptlib文件夹所有的内容复制到opal-3.8.0-src文件夹下面.该文件夹下面现在就有了opal和ptlib文件夹.
4.在opal_samples_2005解决方案中.把PTLib DLL和PTLib Static重新加载项目.
5.先编译OPAL_Static项目. 记得要单独编译.一个一个项目的编译.要不然会等待太长的时间.等得你没有耐心了 编译OPALStatic需要十分钟的时间.这个要看你的机器性能.要有耐心.(靠.为了重新编译这个项目.花了好长时间.估计是我的机器太差了).
设置头文件和库文件 (..\..\lib;..\..\..\ptlib\lib) (..\..\include;..\..\..\ptlib\include)
6.第一次编译的时候会报 错误 
error C4335: Mac file format detected: please  convert the source file to either DOS or UNIX format g:\source\开源\opal-3.8.0-src\opal\src\opal\recording.cxx

error C4335: Mac file format detected: please convert the source file to either DOS or UNIX format g:\source\开源\opal-3.8.0-src\opal\src\ruby\ruby_msvc_wrapper.cxx

双击该错误.定位到该文件.并按保存.重新编译就OK了.估计是VS2005暂时不识别CXX后缀名的文件.
7.最后生成的库文件有.放在Lib目录下面
  (OPAL Static的Debug和Release版本) opalsd.lib,opals.lib
  (OPAL DLL的Debug和Release版本) (opald.lib.opald.dll) (opal.lib.opal.dll) 
8.C Interface,CallGen,CodecTest,FaxOPAL,jester,MFC, 等等项目 必须设置库文件的路径和头文件的路径.(..\..\include;..\..\..\ptlib\include,..\..\lib;..\..\..\ptlib\lib)
8.该解决方案中有些项目依赖外部的库.目前编译不了.

 

接下来的就研究OpenOPhone 如何编译.请大家多多关注

标签:src,教程,lib,..,ptlib,Opal,编译,Ptlib,opal
From: https://www.cnblogs.com/kn-zheng/p/17373271.html

相关文章

  • 图像识别入门教程,带你从零到一!
    图像识别是一门利用计算机技术来识别和处理图像中的信息的学科。图像识别的应用非常广泛,例如人脸识别、车牌识别、医学影像分析等。本教程将带你从零到一,了解图像识别的基本原理和方法,以及如何使用Python和TensorFlow等工具来实现图像识别的任务。本教程分为以下几个部分:-第一部......
  • 嵌入式linux移植——ptlib、H323plus、oh323tut 交叉编译
    前言:上一篇博客主要讲了比较多原理的东西,也是我解决问题时掌握到的一些东西和重要依据,这篇博客接着上一篇博客嵌入式linux移植——ptlib、H323plus交叉编译I继续往下讲~【补充】开发环境:Ubuntu16.04、Hi3531a;编译工具链:arm-hisiv300-linux; 【一个刷存在感而且想要骗赞......
  • Gradle安装配置教程
    一、安装前检查检查电脑上是否安装JDK,如果没有安装,请查看JDK安装教程:点击查看如果电脑上已经安装JDK,按Win+R键,输入cmd,然后点击确定输入java-version,点击回车,查看JDK安装信息,如果有下面提示信息,说明JDK安装成功二、Gradle下载打开官网下载界面:https://gradle.or......
  • 【必知必会的MySQL知识】mysql5.7安装教程
    1.下载mysql下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads下载zip免安装版,可以省去很多事2.将下载的安装文件解压放到磁盘中3.在mysql解压缩包根目录下创建my.ini文件(mysql主配置文件)并创建data目录(用户初始化数据库文件目录)my.ini文件内容如下[mys......
  • Python教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,[2]......
  • ios app真机测试到上架App Store详细教程-必看
    >​转载:https://blog.csdn.net/p312011150/article/details/89374401iosapp真机测试到上架AppStore详细教程-必看Appuploader常见问题![在这里插入图片描述](https://img-blog.csdnimg.cn/29b86096fa504cd082572f1f8e6b2b53.jpeg#pic_center)转存失败重新上传取消上架基本需......
  • Vue.js 教程:如何使用 Mock.js 进行前端开发
    Mock.js 是常用的生成随机数据,拦截Ajax请求的JavaScript库。在软件开发的初期,后端API接口可能还没有实现或者还没有完全实现。在这种情况下,用Mock.js可以模拟后端API供前端开发人员调用,从而避免等待后端API的完成。要在Vue项目中使用Mock.js有两个思路:在客户端拦......
  • PostgreSQL 12 文档: 部分 I. 教程
    部分 I. 教程欢迎来到PostgreSQL教程。下面的几章将为那些新接触PostgreSQL、关系数据库概念和SQL语言的读者给出一个简单介绍。我们只假定读者拥有关于如何使用计算机的一般知识。读者不需要特殊的Unix或编程经验。这一部分主要希望给你一些关于PostgreSQL系统的重要方面......
  • Linux系统之NFS共享配置教程
    (Linux系统之NFS共享配置教程)一、nfs介绍1.nfs简介NFS是NetworkFileSystem的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。2.nfs特点NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的......
  • SpringBoot 集成 Shiro 简单教程
    1.前言 ApacheShiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理。Shiro有三大核心组件:Subject: 即当前用户,在权限管理的应用程序里往往需要知道谁能够操作什么,谁拥有操作该程序的权利,shiro中则需要通过Subject来提供基础的当前用户信息,Sub......