OPENPOHONE不仅需要OPAL和PTLIB,还需要wxWidgets 2.8.9 。下面结合OPENPHONE的README.TXT,简单介绍我的编译过程。
我的IDE是vs 2005,xp操作系统,从网上下载OPAL- 3.4.2 ,PTLIB-2.4.2,以及wxMSW-2.8.9-Setup.exe。
OPAL- 3.4.2 和PTLIB-2.4.2我放到了F盘,wxMSW-2.8.9-Setup.exe解压放到了D盘。
结合OPENPHONE的ReadMe.txt,步骤如下:
编译wxMSW- 2.8.9
1、 设置环境变量,在桌面上,“我的电脑”属性中,设置环境变量。由于我的版本是 2.8.9 ,所以在用户变量中设置WXVER为28,WXDIR为D: /wxWidgets-2.8.9。重启VS 2005。
2、 打开%WXDIR%/build/msw/wx.dsw,系统会提示,将这个工程装变为2005下的。按默认设置运行。编译设置Debug和Release版本。
3、 Debug按系统默认生成即可。但第一次总是有错误,所以接着按“批生成”,就可以得到所需的所有库文件。而Release,将每个工程的属性中的“C/C++”,“代码生成”中的“运行时库”改为多线程(/MT)。有二十个,需要一个一个改。然后就可生成所需库。由于OPENPHONE需要Debug和Release版的,所以工程属性中的配置属性下,常规中的字符集不要改,要用“未设置”,不要选取“使用Unicode字符集”。
4、 打开%WXDIR%/utils/wxrc/wxrc.dsw,系统自动转换为VS 2005下的工程类型。在该工程属性下,将其运行时库(C/C++,代码生成)改为多线程(/MT),在连接器的命令行中,在附加选项中加入user32.lib ole32.lib advapi32.lib shell32.lib这几个库,生成Release版的wxrc.exe,并将这个可执行文件拷贝到%WXDIR%/bin下(这个bin文件夹需自己建立)。
5、 将所编的库文件路径和包含文件路径添加到“工具”,“选项”下的“VC++目录”下。
网上有的人建议要将wxWidgets- 2.8.9 /include/wx/msw下的setup.h拷贝到wxWidgets-2.8.9/include/wx下,这个没有必要,只要你将wxrc工程的运行时库改为多线程,以及在连接器的命令行中加入所需的几个库文件即可。
编译OPAL和PTLIB
这两个库就按http://www.voxgratia.org/主页上给出的步骤执行即可。
编译OPENPHONE
生成Release版的OPENPHONE,需将OPENPHONE中的运行时库,改为多线程。就可以执行。