使用vc编译psi

        编译完服务器,还要有客户端,就编译Psi吧,linux下面或者是用命令行就很容易编译了,直接运行批处理就可以了,这里要把他转换为vc工程,才好控制一些.

还是要把需要的东西准备好:
psi-0.10.tar.tar 官方源代码
下载地址:http://psi-im.org
qt-win-free-3.3.7-7-without-doc-src.7z     qt3无文档源代码包
下载地址http://sourceforge.net/project/showfiles.php?group_id=49109
qca-1.0.tar.bz2  qca
下载地址http://delta.affinix.com/qca/

        首先要建立好环境,不要搞的太乱,如果是vc6.0的话,可能还要有Microsoft SDK支持,因为6.0有些文件有些老吧~.net 不知道怎么样,没有试(下面都是针对6.0的设置) .
        先建立qt环境,因为psi用的是qt界面.先设置环境变量:新设:QTDIR项,值为qt目录,中间调用库头文件什么的都需要用到这个;QMAKESPEC项 ,值为win32-msvc ,是指编译程序时用到的配置文件,这里用到的是QT/QMAKESPEC/win32-msvc里面的设置.然后添加  path, include, lib(分别指QT的命令也就是可执行程序,头文件,库文件的目录),最后使用nmake编译QT,时间会有点长.其实上面这个版本的代码包里面有很多批处理都设置好了,这里写出来省得出了问题不知道怎么回事.

     然后是qca环境,解压了与psi目录放于同一目录下就可以了.

   再然后,需要修改一个文件的代码,打开src/tools/trayicon/trayicon_win.cpp 加入#include <shellapi.h> ,否则可能会提示几个常量没有定义.

  下面就可以开始转换工程了.命令行下进入Psi目录

psi>qmake                                             //生成psiwidgets.pro 和 src.pro
psi/libpsi/psiwidgets>qmake -t vcapp -o psiwidgets.dsp psiwidgets.pro   //将psiwidgets转换为vc工程
psi/src>qmake -t vcapp -o src.dsp src.pro                      //将src转换为vc工程

这里将产生src.dsp psiwidgets.dsp两个文件,就是Psi工程和Psi界面库工程了,用vc打开之前还要修改一下src.dsp工程文件,因为转过来的时候有些参数没有加上。

所有
BuildCmds= /
 $(QTDIR)/bin/uic ui_profileopen.ui -o .ui/ui_profileopen.h /
 $(QTDIR)/bin/uic ui_profileopen.ui -i ui_profileopen.h -o .ui/ui_profileopen.cpp /
 $(QTDIR)/bin/moc  .ui/ui_profileopen.h -o .moc/moc_ui_profileopen.cpp /
改为:
BuildCmds= /
 $(QTDIR)/bin/uic –L  ../libpsi/psiwidgets ui_profileopen.ui -o .ui/ui_profileopen.h /
 $(QTDIR)/bin/uic -L ../libpsi/psiwidgets ui_profileopen.ui -i ui_profileopen.h -o .ui/ui_profileopen.cpp /
 $(QTDIR)/bin/moc  .ui/ui_profileopen.h -o .moc/moc_ui_profileopen.cpp /

这里在UIC命令后面加上参数,可以在生成UI文件的时候加载界面库。

然后用VC打开两个工程,修改一下工程参数:

修改工程 psiwidgets.dsp
输出目录改为当前目录(而不是Debug或者Release,uic.exe生成文件时需要载入此处生成的库文件)
编译先


修改工程 psiwidgets.dsp
参数修改:Zm 200 --> Zm300    因为有头文件长度竟然接近10000行
中间文件目录  .obj 改为 Debug或者Release,要不联接的时候会提示找不到入口函数,因为obj文件都不在嘛
生成目录改为 当前目录(批处理拷出psi.exe需要,也可修改批处理而不改这里)
编译


 可以开始编译了,等一等编译完成,比QT快多了

建立一个批处理,将相关文件拷出

Psi目录建立批处理文件,内容如下:


mkdir mypsi
copy src/src.exe psiwin/Psi.exe
copy %QTDIR%/bin/qt-mt*.dll psiwin
copy ../qca/qca*.dll psiwin
copy src/tools/idle/win32/idleui.dll psiwin
xcopy /e certs psiwin/certs/
xcopy /e iconsets psiwin/iconsets/
xcopy /e sound psiwin/sound/
copy COPYING psiwin
win32/tod README psiwin/Readme.txt
win32/tod INSTALL psiwin/Install.txt

运行之后相关文件将copy至目录mypsi中

ok~大功告成,启动服务器,启动PSI,连上试一试吧~

最后B4一下电信,刚开始不知道怎么弄的时候GOOGLE到了些资料,是WIKI上的,可是竟然打不开,后来摸索着好不容易完成了,却又打开了~~汗~~头一次编译linux上的东西,复杂啊,尤其是QT~~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值