今天弄这东西弄了一天,真心无语!一点小的细节没注意,就会导致出错,所以还是记录下来,以后注意一点!
测试成功!不忽悠!
注意利用openh323库 去做类似于电话之类终端的开发程序,需要pwlib为基础,所以先需要编译pwlib库!
我使用的版本:http://sourceforge.net/projects/openh323/files/ openh323-v1_18_0-src 和 pwlib-v1_10_0-src,当然更高版本的也是可以的!
环境:win7;VC6.0
> 下面简述编译pwlib的步骤:
1:首先解压缩文件到C:下,即pwlib和openh323文件夹
2:需要安装GNU bison 和 flex ( PWlib1.7之后的版本应该不需要,它是用来编译"asnparser"工具(asnparser
是用来改变OpenH323提供的ASN文件的).),自己上网搜索下载即可!注意将文件(包括
bison.exe,flex.exe,share/bison.hairy, share/binson.simple...) 放到C:\tools下( 建议!!!路径不可以有
空格) 没有安装报错:Error executing c:/windows/system32/cmd.exe.
如图:
3:然后打开VC6.0,从Tool(工具)菜单中选择Options(选项),然后把C:/tools条目增加到中到可执行
(Executable files)的目录下面( 编译的时候会需要找这个工具)
4:检查VC头文件:在VC6.0中对STL支持的头文件有许多缺陷。这些缺陷对那些依赖于全局静态变量的正确
行为的程序是足以致命的。故STL的作者为MSVC新发布的文件正确的解决了大多数的问题。
此版本内,没有带msvc6_upgrade.bat这个文件,如果下载不到,那么下载一个高版本(在上面的地址)的
pwlib(最高版本好像改成ptlib),里面自带!也可以copy进来
直接执行这个批文件!
然后不管遇到什么叫你选择y/n,最好都选y,其他的没有试过!
直到我们看到:
5:下面需要做一个很重要的事:配置目录!为什么呢?那是为了程序编译连接以及运行的时候可以通过搜
索这些目录找到自己需要的头文件,lib之类!
因为我们将文件夹放在C:盘,那么:
从"Tool"(工具)菜单中选择"Option"(选项),然后按下面的要求设置目录:
将C:/PWLib/include 加入Include directory
将C:/PWlib/LIB 加入Executable directory
将C:/PWlib/Lib 加入Library directory
注意:在程序编译之前是没有lib文件夹的,lib这是编译之后才生成的!所以此时增加会提示没有此文件
夹,是否仍然增加,答案当然是咯,呵呵~
6:下面进入编译环节!
我们知道安装pwlib的目的其实就是为openh323服务的,那么其实是编译连接后生成的一些库文件(lib)
或者一些dll为openh323服务!那么到底哪些lib和dll是需要生成的呢?
ptlibs.lib ptclib.libptlib.dll 都是必须的!
注意其实上面对应的release版本的时候生成的!如果是debug下编译,那么就是:
ptlibsd.lib ptclibd.libptlibd.dll
有一点很重要的是:openh323会有文件需要的是release的生成的lib,那么其实你可以在debug和
release下都编译一遍,呵呵~~~
‘小插曲:关于vc中在debug和release下编译大家应该都知道的,不过这是我还是提一下吧!’
‘在空白处右击,找到Build(组建),然后你可以选择一个file,在后面选择是debug或者release,然后
编译即可!’
====>进入正题:
右击使用vc打开PWLIB.DSW,注意对于上面的库,我们需要编译的有三个部分!
第一部分:编译Console files,你可以使用‘小插曲’中的Build栏,对文件Console files进行组建!
注意:这时候可能会出现错误如下:
c:/programfiles/microsoftsdks/windows/v7.0a/include/qossp.h(47):errorC2011:'_IN_ADDR_IPV4':'union'typeredefinition
c:/programfiles/microsoftsdks/windows/v7.0a/include/qossp.h(57):errorC2011:'_IN_ADDR_IPV6':'struct'typeredefinition
c:/programfiles/microsoftsdks/windows/v7.0a/include/qossp.h
(68):errorC2011:'_RSVP_FILTERSPEC_V4':'struct'typeredefinition
之类。。。。
这是因为vc6.0中的头文件和 microsoftsdks/windows/v7.0a/include/ 中很多定义冲突了!主要是因为
在前面configure的时候将后者也包含进来了,那么头文件中包含了2份!一样的定义!
解决:最简单就是删除microsoftsdks文件夹,哈哈~ 当然不太可取,看下面办法!
为阻止configure尝试使用这些头文件,需要扫描过程中忽略microsoftsdks目录:通过将路径
添加到PWLIB_CONFIGURE_EXCLUDE_DIRS环境变量即可!或者在comfigure命令行上使
用—exclude-dir参数也可以指定忽略目录(或包含带—exclude-env参数的目录的环境变量
然后应该就可以顺利执行编译了!
接下来还有编译:Console componnets files和PTLib files ,步骤与上面一样!
至此:编译pwlib结束!
> 下面简述编译open323步骤:
步骤会简单一些:
1:配置目录:
在VC中"option"菜单中选择"tools"菜单:
C:/OpenH323/Include 加入include(头文件)列表中。
C:/OpenH323/Lib 加入Executable(执行文件)列表中。
C:/OpenH323/Lib 加到Library(库文件)列表中。
2:编译:
右击使用vc打开OPENH323.DSW
需要编译的有两个文件:
OpenH323Lib files 和 OpenH323dll files,编译步骤同上!只有上面编译没有错,此处应该不会出错!
注意,要求pwlib的release版本!
步骤就这么多,可能还有其他一些问题没有遇到,每个人的机器不一样,所以可能出错不一样~仅此借鉴~
呵呵~
晚安,睡觉~(01:27:29 2013年9月16日)
补充:最后的最后还要注意将所有的dll文件copy到sysytem32中,那么exe在运行的时候才可以找打!否则
提示没有此dll错误~
参考:http://www.voxgratia.org/docs/pwlib_windows.html 和
http://www.voxgratia.org/docs/openh323_windows.html#dirs
分享到:
相关推荐
h323服务器端程序,用到pwlib和openh323
新版编译openh323.dll包含了openh323.dll所有的编译条件完全编译版,这个是release版,是一个完整版
OpenH323协议栈的源码是用C++来完成的,适用于Windows平台和Unix平台,该协议栈描述的是H323 Version2.0。OpenH323协议栈的结构非常庞大,包括 了实现H323协议的方方面面(当然,目前协议栈的功能还不是很完整)。...
为了开发自己的东西,真的经历不少了苦啊,就连编译OpenH323都受了不少的麻烦。本资源的发布是一系列的,它包含了编译OpenH323所需要的编译方法文档(编译文档会不断的更新),并包括它所需要的各种环境的源代码
OpenH323新手,个人认为最合适的教程,详细说明了主要类以及具体的流程
使用openh323开发.pdf
为了开发自己的东西,真的经历不少了苦啊,就连编译OpenH323都受了不少的麻烦。本资源的发布是一系列的,它包含了编译OpenH323所需要的编译方法文档(编译文档会不断的更新),并包括它所需要的各种环境的源代码
OpenH323终端源码分析,包括主要流程代码分析
视频会议系统 OpenH323源码附源码说明等文档
OpenH323 Gatekeeper - The GNU Gatekeeper ---------------------------------------- It is covered by the GNU Public License (GPL); for details see the file COPYING. In addition to that, we explicitely ...
本文分成三个部分介绍Openh323和RTH323,第一部分是Openh323中所创立的实体的介绍,作者选取了其中最重要的部分进行介绍,然后第二部分是对Openh323发起一个呼叫和收听一个呼叫的实现过程,最后一个部分是如何从...
基于Openh323开发自己的协议栈。一位中国俄罗斯留学生的作品。
openh323 源码。测试支持asterisk。 Build the H323 bootstrap code. Enter: cd $(OPENH323DIR) ./configure make opt
是VoIP之H.323协议的一个第三方实现,采用VC工程方式开发。 不想送分的可以自行上http://www.openh323.org 下载
openh323openh323openh323 官方文档,超级有用
续上一次发布的编译经历,现在更新之,这个版本应该够你用的了,因为它能通过openh323所有编译条件进行编译,不过是在windows平台下编译的,如果有人有linux下的编译版本,请发给我,我的交流e-mail是:ancktion@gmail...
此PDF是对OPENH323开源代码的介绍分析,并且对OPEN323H源代码的API进行详细的介绍。
经过一段时间的编译,终于把OPENH323编译通过了,下面共享我编译的DLL
本文主要从系统架构和运行过程两个方面对 OPENH323 源码进行了分析, 可以作为OPENH323 应用开发人员的一点辅助资料,亦可为网络协议开发人员 提供参考
这是个开源项目,大家可以一试修改,很受用