liveva中的代码小细节问题
我本来想下libeva后在windows下编译成dll,但是发现代码中出现了些许不和谐的地方。列举如下:1,无法打开包含文件:“inttypes.h”: No such file or directory
估计该文件是linux下特有的,而不是平台无关的。
2,char str;
很多形如以上数组的声明。数组大小居然有变量。
我下的是
http://ovh.dl.sourceforge.net/sourceforge/evaq/eva-0.3.0.tar.bz2
3,“初始化” : 截断常数值
/** QQ default encoding */
const short QQ_IM_ENCODING_GB = 0x8602;
编译提示 “初始化” : 截断常数值,不太明白为什么。 4,常量的使用与硬编码
int LoginPacket::putBody(unsigned char *buf)
{
memcpy(buf, iniKey, QQ_KEY_LENGTH);
int pos = 16;
...
}
为什么 不
int pos = QQ_KEY_LENGTH? inttypes.h是C99中的,gcc3.3中已经带了,
可变数组C99也支持的,当然gcc早就支持了
你应该换个新点的编译器(比方说mingw),或者将那些重定义一下 windows 上, 你看着自己改吧。
我基本就没有在windows上编译过, 所以根本不知道在windows上的结果, 另外,
我个人始终认为在windows下,腾讯的客户端是最好的。我们的目标是提供一个
Linux下KDE桌面的QQ客户端而已。 libeva部分最初设计来跨linux下的各种环境的,
而非跨平台的。 当然,在可能的情况下,我们还是会尽量支持windows下的编译。
我装不起 MS-WIN + MS-Office + MS-Visual Studio, 所以, 我没法测试,
要是发现什么问题,还请大家告知。
另外,据我了解的情况, Miranda IM 的QQ 插件正在基于libeva来实现, 所以
我想,libeva在windows下编译也不是什么大问题。还有几个win 下的挂机程序
也都编译成功了。 可能你使用VC++ 7.0 可以吧。 Hopefully。
页:
[1]