当前位置: 首页 > 工具软件 > QuteCom > 使用案例 >

qutecom 2.2 编译过程

干京
2023-12-01

两年前曾经编译过 wengophone 开源的softphone项目,在反复的失败与尝试中总算成功。当时是在xp下用的vs2005,boost-1-34, qt-4.1,cmake2.4 。

现如今wengophone已经变换名称为qutecom,boost也到了最新的1.41, qt到了最新版4.6。同时由于公司要上一套系统需要配合softphone一起推广,所以又有了这次的反复尝试编译的经历。经历了4天的失败,昨晚第一个编译后的版本终于是跑起来了,在此记录下失败的过程,也算是给同样受困扰的朋友们些借鉴。

 

本人最初使用vs2008编译,boost qt 编译都顺利,但在编译qutecom,最后link的时候报错(详细的错误原因没有记录下来),几经尝试都失败,最后变更到vs2005通过。

 

在xp 英文版下 使用vs2005 sp1 编译通过

软件包:

boost_1_41_0.zip

qt-everywhere-opensource-src-4.6.0.zip

cmake-2.8.0-win32-x86.exe

windows platform sdk

dxsdk_aug2007.exe

nsis-2.46-setup.exe (制作安装包时使用)

qutecom 使用hg做版本管理工具,需要去 http://www.selenic.com/mercurial 下载hg ,然后 从 http://hg.qutecom.org/qutecom-2.2/  获取最新的2.2版本的源代码。

 

boost 编译

进入到 boost_1_41_0/tools/jam/src  目录, 运行 build.bat, 首先编译jam工具。将boost_1_41_0/tools/jam/src/bin.ntx86下的 bjam.exe 复制到 boost_1_41_0 目录,

运行  bjam --toolset=msvc-8.0  --build-type=complete link=shared runtime-link=shared threading=multi stage

 

qt 编译

qt-everywhere-opensource-src-4.6.0 目录下

运行 configure -debug-and-release -qt-style-windowsxp -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -platform win32-msvc2008

运行 nmake

漫长的等待,估计2-3个小时

 

 

设置环境变量

BOOSTINCLUDEDIR
D:/work/qutecom/boost_1_41_0
BOOSTLIBDIR
D:/work/qutecom/boost_1_41_0/stage/lib
QTDIR
D:/work/qutecom/qt-everywhere-opensource-src-4.6.0
QTINCLUDEDIR
D:/work/qutecom/qt-everywhere-opensource-src-4.6.0/include
QTLIBDIR
D:/work/qutecom/qt-everywhere-opensource-src-4.6.0/lib

 

 

编辑 C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/vsvars32.bat 添加黑体部分(不同的安装路径注意要调整一下)

....

@set PATH=C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Bin; C:/Program Files/Microsoft Visual Studio 8/Common7/IDE;C:/Program Files/Microsoft Visual Studio 8/VC/BIN;C:/Program Files/Microsoft Visual Studio 8/Common7/Tools;C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/bin;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/bin;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/bin;C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727;C:/Program Files/Microsoft Visual Studio 8/VC/VCPackages;%PATH%
@set INCLUDE=C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Include;C:/Program Files/Microsoft DirectX SDK (August 2007)/Include;D:/work/qutecom/boost_1_41_0; C:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/INCLUDE;C:/Program Files/Microsoft Visual Studio 8/VC/INCLUDE;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/include;%INCLUDE%
@set LIB=C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Lib;D:/work/qutecom/boost_1_41_0/stage/lib; C:/Program Files/Microsoft Visual Studio 8/VC/ATLMFC/LIB;C:/Program Files/Microsoft Visual Studio 8/VC/LIB;C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/lib;C:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/lib;%LIB%

....

 

重新打开 vs2005 command prompt (一定要关闭重新开配置才会生效。修改了环境变量,cmd窗口也都需要重新开才能生效)

进入到 qutecom-2.2/build  目录

运行 cmake -DCMAKE_BUILD_TYPE=Release  -G "NMake Makefiles" ..       注意后面的 .. 

(我遇到提示无法找到boost 库,尝试修改了 qutecom-2.2/owbuild/FindBoost.cmake  文件 把 最新的1_41 版本支持加进去就可以了。)

运行 nmake 

我遇到的 lang.h 和 yahoo_profile.c 编译出错,我的处理方式是把不需要的语言删掉了,省时省力。

 

运行 build/release/qutecom.exe 我这报缺少 boost 的一个dll 文件,复制 boost_date_time-vc80-mt-1_41.dll 过去, 解决问题。

 

以上是我的尝试编译过程,希望对你有用。

 

 

 

 

 

 类似资料: