日历
网志分类
展开全部
· ***    All     ***
· ***    Mood    ***
· ***    Life    ***
· *** Technology ***
· ***     Yc     ***
· ***  Cartoon   ***
· *** Collection ***
· ***  Unsorted  ***
媒体播放器

Get the Flash Player to see this player.
SkyDrive is currently not available.

站内搜索
友情链接
· 我的歪酷 非非共享界
· 风雨妖虹
· kingbeful@csdn
· 手心的太阳@瞬间十年
· Moment@Travis
· 江南麒麟居
· εз毛线团εз
· 乌拉的neverland
· 碾过的日子 闲也陶陶
· 狡兔三窟 *^.^*
· 橄榄林的风
· 水色の街
· Powerful and delicate, Life struggling
· 阿德咖吧
· 陷阱
· 风之华
· vkobe的Neverland@@
· 白日梦已死 · 伤越夜海
· 望天
· 空の軌跡
· 没什么好东西的空间
· 心情...咖啡屋
· 随风独自凉
· Some where i belong
· .★·°双晨·故事°☆ .
· BigWorld的记事本
· *Sara's*
· 人生若只如初见
· 宠辱不惊闲看庭前花开花落·去留无意漫随天外云卷云舒
· 我思我不在
· 飞扬飘雨
· lazy的猫猫
常用链接
· [Google]
· [Google Accounts]
· [IT Items]
· [Telnet@Yanxi]
· [Wikipedia]
· [Linux Manpages]
· [Mofile.com]
· [163888.net]
· [fm.qq.com]
· [Proxy]
· [Animepaper.net]
· [FreeproxySite]
· [gonwan@fc2]
· [skydrive.live.com]
· [gonwan@lifelogger]

订阅 RSS

0109813

歪酷博客

逆さまの蝶
In this Craziness
Uncertainy
一人一人の想いを
僕らは何処かに遺せるだろうか

In this Craziness
You gave me life
一つの想いを
僕らは何処まで守れるだろうか



« 上一篇: Resolution of Soul 下一篇: Windows Debug Technologies (2) »
丸子·酱 @ 2008-08-17 14:21

    为什么要弄这个东西? 1来我要学学QT, 2来Fterm太不好用了尤其e文的系统到处乱码还不如自己编译一个来玩.
    本文假定你用的编译器是vs2003, vs2005会有不可知的问题..嗯.

    QTerm依赖qt(qt GUI支持, 废话), openssl(ssh支持), python(python脚本支持)这3个库, 所以要编译QTerm, 首先要编译这3个库.

1. openssl的编译:
    这个是最简单的了, 我用的是0.98g版. 0.98h似乎vs2005编译有点问题, 不敢用. 然后看文档吧, 源码包下有一个install.w32文件, 会教你怎么编译的. 或者看这里的中文版.
    搞定后把include, dll, lib全部提出来.

2. python的编译:
    选的是2.4.5版, 因为官方的qterm4win32用的是2.4.x, 避免不必要的兼容性麻烦.
    依然是看文档, /PCbuild/readme.txt文件, 其实都是废话. 假设你已经打开了那个叫做pcbuild.sln的solution文件. 我们要编译的只有一个叫做pythoncore的project, 这是一个dll. 编译应该能直接过, 但是对于vs2005来说, 这里有一个bug: http://bugs.python.org/issue1350409. 上面提供了一个patch, 不过似乎没有backport到2.4.x stream=.=... 个么手动改吧皑皑.
    搞定后吧include, dll, lib全部提出来. 然后把/PC/pyconfig.h也复制到include目录, 编译qterm时会有用的.

3. qt的编译:
    这个东西的版本非常的重要.
    先来说说opensource版. qt3.3.x系列的opensource版普遍有字体显示问题, 尤其是中文字体. 3.3.4稍微好了一点, 似乎算一个special build, 估计是TrollTech的人亲自参与了吧. diff一下3.3.4和3.3.5的代码会发现, 这两个版本的代码差异不是一点点, 无语的是入口函数的signature变了, 以至link到3.3.4的qt的程序, 换一个3.3.5的dll就不认了. 具体可以查看/src/kernel/qtmain_win.cpp, /src/kernel/qapplication_win.cpp. 所以对于break changes的build, 我还是不用了.
    然后是commercial版. 官方支持的自然要好很多, 字体问题几乎是没有的. 安装程序和license电驴上都有, 不过目前非常的难找就是了shy. 安装过程非常的简单, 不过最好先开个包含vs2003的cmd, 然后运行安装文件, 不然会提示找不到vs200x路径. 建议只build release版本就可以了, 如果再build debug版的话, release版会被覆盖... 囧..... 而qt4是不会出现这种情况的.
    整个build过程大概15min左右还是比较快的(P4 2.6c HT, 512M的机器). 搞定后把生成的obj文件删掉减少磁盘占用.
    诶.. 难道一定要用commercial版才能让qterm正确编译并运行么? 不是的.. 你可以用opensource版编译(建议3.3.4以上版本), 然后发布的时候替换opensource的为commercial版的qt dll. 关于commercial的dll, 其实很多程序都包括的, qterm官方发布的唯一一个windows版本里就有一个qt-mt334.dll. 不过qterm很无耻的用的就是commercial版, 并不是替换的策略.
    反正一句话, 方便一点就直接用commercial版吧=v=.

4. qterm的编译:
    选的是0.4.1版. 我要骂人了, qterm的代码实在写的有点恶心. 0.4.0版的prj文件错误一堆, 主要是少文件, 很多文件. 0.4.1版好了很多, 不过还是少, 还有一些编译error, 一些很低级的warning, 看changelog会发现, 最长的一次更新之间用了1年还多...==b. 0.5.x版更nb了.. 代码跟0.4.x完全不像了, 编译采用cmake控制, 不知道什么东西. 好了.. 现在丸子sensei开始讲解怎么改qterm的代码:
    *) 找到/qterm/qterm.prj文件, 打开.
    *) 找到 win32:INCLUDEPATH, win32:LIBS 这两行, 改成你自己openssl和python的路径.
    *) 找到SOURCE这一块, 加1个文件: ssh/getput.cpp
    *) 找到/qterm/ssh/types.h, 加一行:  typedef Q_UINT16 u_int16_t;
    *) 找到/qterm/trayicon_win.cpp, 最前面加一行: #include <windows.h>
    ok了.. 运行cmd到/qterm目录, 再运行: qmake -t vcapp qterm.prj  这样就生成了一个.vcproj的项目文件, 然后自己用vs200x爽去吧.
    这里对于不同的qt库, qterm的运行可能会不一样, 一下是一些测试:
qt link version qt change dll version run font style
3.3.7-free
3.3.7-free modal dialog cannot move.
sometimes too small and cannot changed. ok, but ugly.
3.3.7-free 3.3.4-commercial
ok too large, changeable. ok, windows style added.
3.3.7-free 3.3.4-commercial-self ok same as above. ok, windows(xp) style added.
3.3.7-free 3.3.8-commercial failed x
x
3.3.4-commercial 3.3.4-commercial-self ok same as row 3.
same as row 3.
3.3.4-commercial 3.3.8-commercial
failed x x

    jz.. 等下传一个vs2003编译好的qt0.4.1上来.


曾经的这一天...
  • » 2006年: ri



评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定