被折腾了两天,自己编译出来自己机器上运行没问题,也能用ssl连接到IM服务器或者Gtalk,但是一cp到别的机器上就不行,自己机器中windows/system32下也没装任何东西,和标准版对比了半天,除了版本不一样,文件一模一样。

照着标准版的把openssl从0.9.8.10换成了0.9.8.4,装0_9_8d版,全部重新编译,先编译qca,然后qca-ossl,再接着编译的时候把#qca-static取消注释(不带编译的psi.exe大小是7.1M,带QCA是8.65M),编译,然后0.9.8.4版没libeay32.dll和ssleay32.dll,直接从标准的psi拷贝过来,反正都是0.9.8.4,在纯净的winxp上运行,终于连上Gtalk了。

1. 开始不带qca-static的版本放到其他机器上进行不了ssl连接,提示SASL太弱或者不允许明文

2. 后来允许了qca-static放到其他机器上又直接应用程序初始化错误,想到了好像openssl_0.9.8j再装的时候提示需要vs 2008  c++ resdistribu

基于spark是LGPL的license,所以客户端要尽量选择采用GPL协议psi,只好重新开始,第一次接触QT的程序,前前后后编译配置了整整一天,把过程中的问题记录下,以备使用(记性现在太差),所有命令行的操作都在QT Command Prompt(设置好环境变量)下而非cmd

1.安装MinGW,虽然装QT的时候会让你选择可以下载并安装,但是太慢(毕竟连欧洲速度不稳定). 

2. 安装QT(注意psi对QT的版本要求),没钱只好opensource的版本了,下载并运行qt-win-opensource-4.x.x-mingw.exe,一路next即可,选择已有的$$MinGW_HOME。

虽然有的资料中说QT安装完毕只是装了基本的lib,并未编译成dll,但是对于psi的编译并不需要,自己开始编译了一下,编译过程中提示缺少uxtheme.h和tmschema.h,下载拷贝到MinGW\include就行(这两个文件dev-cpp中都有,而且dev-cpp\bin中也有make,mingw32-make等,感觉可以不装MinGW),结果编译了一个小时(CPU:T7250,Mem:2G)左右还没停下的迹象,导致生成的.o文件提示C盘空间不足= =。

3.安装OpenSSL,没啥说的,不需要配置。安装完后把include下的东西cp到MinGW的include下. 还有libeay32.a,ssleay32.a都cp到MinGW的lib下并改后缀为.lib。系统变量中添加QTDIR,并将QT/bin,MinGW/bin添加到系统PATH。

4.编译psi.

阅读全文…

开发软件时我们经常会利用已有的开源软件进行修改,当这个活动仅限于我们个人进行修改开发一个不成熟的东西时,有时候可能根本不关注这个东西,但当这个产品需要被正规公司推出成熟产品时,就需要关注你采用开源库的License许可了。

简单的说你采用了GPL License的库你就必须保证你发布的软件也是GPL的,保证完全的free。

而采用的库是LGPL的时候就可以作为私有软件的开发中引入了。但这并不代表LGPL比GPL好,只是有更多的自由度。很可能LGPL中有部分东西不开源。

具体的解释参考 Why you shouldn’t use the Lesser GPL for your next library.