Portable Windows Libary
=======================
Contents
--------
1. Introduction
2. Apologies
3. CVS Access
4. Building PWLib
5. Using PWLib
6. IPv6 issues
7. Platform Specific Issues
8. Conclusion
9. Licensing
================================================================================
1. Introduction
---------------
PWLib is a moderately large class library that has its genesis many years ago as
a method to product applications to run on both Microsoft Windows and Unix
X-Windows systems. It also was to have a Macintosh port as well but this never
eventuated.
Since then the system has grown to having quite good application to areas other
than mere Windows GUI portability. Classes for I/O portability, multi-threading
portability, aid in producing unix daemons and NT services portably and all
sorts of internet protocols were added over the years.
All this over and above basic "container" classes such as arrays, linear lists,
sorted lists (RB Tree) and dictionaries (hash tables) which were all created
before STL became the answer to all our prayers. Unfortunately, due to intertia
and the GNU C++ inadequate support of templates, this library will probably not
be ported to STL in the near future.
The library was used extensively for all our in-house products. Then we decided
to support the open H323 project by throwing in some of the code written for
one of our products. Thus, required PWLib so it got thrown into the open source
world as well.
================================================================================
2. Apologies (not)
------------------
As you start using the library, the inevitable question "why did they do it that
way?" will come up. The more experienced out there will know that there are
several reasons for the way things are:
* Carefully considered design,
* Workarounds for portability and compiler subtleties,
* History, it may be too hard to change an early design decision,
* Complete arbitrariness, the absence of any compelling reason.
So, when you ask the next question "why didn't you do it this way?" The answer
will be one of the above. The last one being a synonym for "we didn't think of
that!"
The bottom line is, use the library as is or change it as you require. You can
even send in suggestions for improvements (or merely changes) and we may (or may
not) include them in the base line code. Just do not send us any mail starting
with the words "Why did you..." as the answer is quite likely to be "Because!"
================================================================================
3. CVS Access
-------------
There is a public CVS archive available at cvs.openh323.org. Note that there are
still some parts of PWLib that are not available, so make sure you use the
modules provided for check out and do not just try and check out "pwlib" on it's
own. If you do all you will get is this file.
The modules available are:
ptlib_unix
pwlib_xlib (does not work, anyone is welcome to fix!)
ptlib_win32
pwlib_win32
================================================================================
4. Building PWLib
-----------------
This library is multi-platform, however there are only two major build systems
that are used. The Microsoft DevStudio environment for Windows and the GNU make
system for all of the various unix systems.
4.1. For Windows
----------------
1. Note you will need the bison and flex tools to compile some parts of the
system. You can get a copy from http://www.openh323.org/bin/flexbison.zip,
follow the instructions included in that package and put the executables
somewhere in your path.
2. Start MSVC (v5, v6 or v7 (.NET)). If you have another compiler you are on
your own! Add these folders to the Include Files path as follows:
In VisualStudio v5/6 go into the Tools menu, Options item, Directories tab.
In VisualStudio v7, go into the Tools menu, Options item. In the Options
dialog, open the Projects folder, VC++ Directories item. In the 'Show
Directories for:' list, select 'Include files'.
C:\PWLib\Include\PwLib\MSWIN (if you have the full PWLIB version)
C:\PWLib\Include\PtLib\MSOS
C:\PWLib\Include
Add the following to the Lib Files path and the Executable Files path:
C:\PWLib\Lib
The Lib folder is created as parts of PWLib are built. Also add this
directory to your PATH environment variable (so PWRC, MergeSym and
ASNParser tools can be found).
2a. If you have OpenSSL installed and compiled on your system then you
can define the following environment variables to get SSL support:
OPENSSLFLAG=1
OPENSSLDIR=c:\somewhere\openssl
OPENSSLLIBS=ssleay32.lib libeay32.lib
If you have NOT included these variables then you will get a warning
during the build. YOu can safely ignore this warning.
2b. If you have EXPAT installed and compiled on your system then you
can define the following environment variables to get XML support:
EXPATFLAG=1
EXPATDIR=c:\somewhere\expat
EXPATLIBS=expat.lib
If you have NOT included these variables then you will get a warning
during the build. YOu can safely ignore this warning.
3. In VisualStudio v5/6 open the pwlib.dsw file in the pwlib top directory.
If you have the minimum library it will come up with several requests to
find .dsp files, just cancel past these.
In VisualStudio v7 open the pwlib.sln file in the pwlib top directory.
4. In VisualStudio v5/6 use the Batch Build command and build the "ASNParser
Win32 Release", "pwtest Win32 Release" and "pwtest Win32 Debug" targets.
Make sure all other targets are not checked.
In VisualStudio v7 use the Batch Build command. It seems as though the
batch build does not build dependent parts unless they're checked in the
Build column. For a test build, be sure all Projects are checked except
ASNParser-debug, MergeSym-debug, PacketVXD-release, PWRC-debug, and both
XMLRPC.
5. That's it, now you're on your own!
These are the project relationships:
project dependencies output
------- ------------ ------
Console (none) ptlibs.lib
GUI (none) pwlibs.lib
MergeSym ptlibs.lib mergesym.exe
PTLib ptlibs.lib, mergesym.exe ptlib.dll & lib
PWLib pwlibs.lib, mergesysm.exe, ptlib.lib pwlib.dll & lib
Console Components (none) ptclib.lib
GUI Components (none) pwclib.lib
ASN Parser ptlib.lib asnparser.exe
PWRC ptlib.lib (flex.exe) pwrc.exe
PWTest ptlib,pwlib,ptclib,pwclib.lib,pwrc.exe pwtest.exe
MSDevWizard (none) PWLibWizard.awx
XMLRPC ptlibs.lib, ptclib.lib xmlrpc.exe
PacketVXD (none) epacket.vxd
Debug versions append 'd' to filename, ie: ptlibsd.lib.
MSDevWizard will not build in VisualStudio v7 and so is not included as a project.
--------------------------------------------------------------------------------
4.2. For unix.
--------------
1. If you have not put pwlib it into your home directory (~/pwlib) then
you will have to defined the environment variable PWLIBDIR to point to
the correct directory.
Also make sure you have added the $PWLIBDIR/lib directory to your
LD_LIBRARY_PATH environment va
没有合适的资源?快使用搜索试试~ 我知道了~
Delphi:遵循h的视频会议系统代码.zip源码Delphi项目程序源码下载
共1421个文件
h:505个
cxx:217个
c:103个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 70 浏览量
2022-03-18
20:42:36
上传
评论
收藏 5.07MB ZIP 举报
温馨提示
Delphi:遵循h的视频会议系统代码.zip源码Delphi项目程序源码下载Delphi:遵循h的视频会议系统代码.zip源码Delphi项目程序源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.上线产品适合小公司开发项目参考
资源推荐
资源详情
资源评论
收起资源包目录
Delphi:遵循h的视频会议系统代码.zip源码Delphi项目程序源码下载 (1421个子文件)
ohphone.1 14KB
openmcu.1 5KB
asnparser.1 2KB
regex.3 15KB
regex.7 10KB
Makefile.am 1KB
Ndisdev.asm 8KB
h245.asn 91KB
h225.asn 64KB
gccpdu.asn 28KB
h248.asn 21KB
mcspdu.asn 12KB
ldap.asn 9KB
h235.asn 8KB
h4501.asn 7KB
h4505.asn 7KB
h4502.asn 4KB
h45011.asn 4KB
h4507.asn 4KB
h4503.asn 3KB
h4509.asn 3KB
x880.asn 3KB
t38.asn 2KB
h4504.asn 2KB
h4508.asn 1KB
h45010.asn 1KB
h4506.asn 965B
AUTHORS 476B
check_listen.awk 831B
huffcode.c 1.27MB
bv.c 104KB
nb_celp.c 44KB
regcomp.c 38KB
sb_celp.c 34KB
epacket.c 32KB
voicin.c 28KB
engine.c 26KB
long_term.c 24KB
analys.c 24KB
lsp_tables_nb.c 23KB
decode_.c 20KB
gain_table.c 19KB
high_lsp_tables.c 18KB
pitsyn.c 18KB
ltp.c 15KB
g72x.c 15KB
exc_5_256_table.c 14KB
bsynz.c 14KB
synths.c 14KB
modes.c 13KB
dyptrk.c 13KB
lpcini.c 12KB
encode_.c 12KB
gsm_encode.c 12KB
exc_8_128_table.c 12KB
hexc_table.c 12KB
main.c 11KB
rpe.c 11KB
cb_search.c 11KB
gsm_decode.c 11KB
short_term.c 11KB
onset.c 10KB
lpcdec.c 9KB
lsp.c 9KB
vparms.c 9KB
g711.c 8KB
placev.c 8KB
placea.c 8KB
gsm_lpc.c 7KB
quant_lsp.c 7KB
split.c 7KB
chanwr.c 7KB
g726_40.c 7KB
filters.c 7KB
g726_32.c 7KB
g726_16.c 6KB
bits.c 6KB
vbr.c 6KB
gain_table_lbr.c 6KB
g726_24.c 6KB
add.c 6KB
tbdm.c 6KB
debug.c 5KB
speex_header.c 5KB
invert.c 5KB
lpcenc.c 5KB
exc_5_64_table.c 5KB
mload.c 5KB
hexc_10_32_table.c 5KB
exc_10_32_table.c 5KB
regexec.c 4KB
hp100.c 4KB
speex_callbacks.c 4KB
lpc.c 4KB
vq.c 4KB
stereo.c 4KB
deemp.c 4KB
preemp.c 4KB
irc2pc.c 4KB
testenc.c 4KB
共 1421 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
资源评论
yxkfw
- 粉丝: 76
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python的机械设计实用计算器,可计算电动机,传动装置,V带轮,齿轮,轴,轴承的几何或者力,运动学参数数值+源码+开发文档
- 基于HTML +JavaScript的元旦倒计时代码.docx
- 【Unity资源免费分享】孩子益智小游戏unity 5x系列Baby Doll House Cleaning
- 【资源免费分享】集市游戏(uniyt案例)
- 数据整理结果 2023-12-7 192544 6.dta
- 5.22前端基础(2)
- 糖尿病风险因素分析数据
- matlab项目源码基于matlab的声源定位广义互相关算法的实现.zip
- 基于Go的Dory-Engine应用上云引擎命令行客户端设计源码
- dotnet-core-uninstall-1.7.521001 github上下载下来,从github下载不下来时,可以使用这
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功