Posted on 30-09-2010
Filed Under (技术) by waterlin

苦于没有空闲的 Linux 服务器了,只好用 Windows 来搭一个 Bugzilla 服务器。浏忙绪绪我今天就给大家介绍一下 Windows 下 Bugzilla 的简易安装与配置。

一次性简易安装 Bugzilla

Windows 下安装 Bugzilla 可以看官方文档,不过这里推荐使用一次性简易完全安装包,懒人有懒福嘛。的确,对于小公司来说,没有什么需要精心配置的东西。

配置 SendMail 的替代品

Bugzilla 如果不能发邮件通知更新,那查找 bug 的最新状况,将是非常痛苦的一件事情。

但是 Bugzilla 默认下用 SMTP 的话,不能带 SMTP TLS 校验的东西,可以通过安装 Perl 包 Email::Send::SMTP 来解决这个问题。

不过,在这里,我更推荐用伪装 SendMail 的方法来解决这个问题。

在 Windows 下,有一个很简单的方法来伪装 SendMail 发邮件的方式,它实际上还是使用 SMTP 的方式。

如果你的 Bugzilla 安装在 D:\Bugzilla ,则你把假 SendMail 解压放到目录 D:\usr\lib 里即可,注意驱动器要相同。

配置好了以后,记得从命令行测试一下假的 SendMail 配置是否正确:

D:\usr\lib>sendmail.exe -t
You must configure the smtp_server and default_domain in:
  D:\usr\lib\sendmail.ini
  or
  HKLM\Software\Sendmail

上面这个例子,就是提示配置不正确。

这样,就可以用 Gmail 来发提醒邮件了。不过要注意,如果要配置用 Gmail 来发邮件,要在 Bugzilla 的管理面板里有关邮件的设置里,把 smtpserver 设置为 smtp.gmail.com:587 即可。

简单设置 Bugzilla

记得,要设置 urlbase,否则用户一注册,收到的邮件里,都没有网址的前缀了 :)

后续话题

以后再介绍更多小技巧,呵,敬请期待。

(0) Comments    Read More   
Posted on 20-09-2010
Filed Under (技术) by waterlin

使用默认的 Emacs 字体颜色,会让人疯掉的;但是你使用了 Emacs Theme 后,可能依然会觉得 Org Mode 或 Muse Mode 的颜色让人看着不舒服,或太亮或太暗。

这个时候,我们可以轻松地通过以下方式定制它们的字体、背景颜色等。

对于 Emacs Org 来说

可以用

M-x customize-group RET org-faces RET

来定义各级菜单字体的颜色、背景颜色等。当然,Org Mode 的定义有点特殊,对于普通的文字设置,需要通过

M-x customize-face RET default RET

来对 Emacs 全文的普通字体来进行设置。

对于 Emacs Muse 来说

可以用

M-x customize-group RET muse-colors RET

来定义 Emacs Muse 各级菜单字体的颜色、字体大小、背景颜色等。

如何描述你喜欢的字体呢?

如果你看到了喜欢的字体,想设置为你的字体,要怎么办呢?

先找到你喜欢的颜色,用

M-x describe-face

来查看相应的名称,然后再用

M-x customize-face RET default RET

来设置相关的颜色。

当然,你也可以通过一些工具来获得颜色的名称。

(3) Comments    Read More   
Posted on 15-09-2010
Filed Under (技术) by waterlin

写了一大堆的代码,要生成 C++ 类的文档及关系图怎么办呢?对,就是生成 MFC 类库示意图那样让人赏心悦目的东西。

总体来说,生成这种文档有三种思路:

  1. Doxygen 来自动生成文档

    用 Doxygen 可以跨平台,在维护代码的同时,维护文档,很方便很实用。

    如果需要生成类的关系图,可以用 Doxygen 配上 Graphviz,安装好 Graphviz 后,需要把该可执行目录添加到系统的 Path 里,这样在 Doxygen 里就可以用 Graphviz 来生成类的关系图。

    如果是在 vim, Emacs 这类文本编辑器里,则可以很自然地使用宏操作来插入 Doxygen 注释;如果是用 Visual Studio 的话呢,也是可以用 DoxyComment add-in for Visual Studio 2005 之类的东西来完成。

    用 Doxygen 来生成文档有一个要注意的地方,源代码文件的编码和 Doxygen 选用的字符编码需要一致,否则生成的文档会乱码。现在这个年代,当然是统一用 UTF-8 好一点了。

  2. 用 Visual Studio 的 Class Diagram

    MSDN 上专门有关于使用 Class Diagram 的介绍。

  3. 用 Visio 来画 UML 图,纯人肉体力活,累,难与代码同步,不推荐使用。
(0) Comments    Read More   
Posted on 04-09-2010
Filed Under (技术) by waterlin

在使用有关 DirectShow 东西的时候,使用了头文件

#include <qedit.h>

结果,编译的时候提示如下错误:

错误    1       fatal error C1083: 无法打开包括文件:"dxtrans.h": No such file or directory    c:\program files\microsoft sdks\windows\v6.0a\include\qedit.h   498

这个真是奇怪了,为啥微软自己 SDK 里的东西,都会出现找不到头文件的问题呢?

解决办法可以有两种:

(1) 从其它地方把 dxtrans.h 这个文件拷过来,例如从

Program Files\Windows Mobile 5.0 SDK R2\PocketPC\Include\Armv4i\dxtrans.h
Program Files\Windows Mobile 5.0 SDK R2\Smartphone\Include\Armv4i\dxtrans.h
D:\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i
D:\Program Files\Windows Mobile 6 SDK\Smartphone\Include\Armv4i

里拷 dxtrans.h 这个文件出来。

(2) 或者在引用 qedit.h 头文件的时候,加上这么几句:

#pragma include_alias( "dxtrans.h", "qedit.h" )
#define __IDxtCompositor_INTERFACE_DEFINED__
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__
#include "Qedit.h"

也可以。

微软的MSDN上还有对这个问题的讨论,看来真是微软自摆乌龙了。

(0) Comments    Read More   
Posted on 04-09-2010
Filed Under (软件) by waterlin

GMX 邮箱,在德语区(德国、瑞士、奥地利)很受欢迎,在这些地方的地位相比要大于网易在国内的地位。

优点:

  1. 可以添加 n 个别名,非常强大,并且有很多域名可选;
  2. 可以直接收取与管理其它邮箱,并且,最强大的是,可以直接收取 Yahoo 的邮件,Yahoo 不是号称不给免费用户开放 POP 和 SMTP 服务的吗?
  3. 垃圾邮件也不多,和 pubhmail 搭配着作为备用邮箱,不错。

缺点:

  1. 中国的访问速度有点慢;
  2. 对于习惯了 Gmail 类界面的用户来说,这种类 Outlook 的界面有点太丑了,不过操作倒也还算方便。

网址:http://gmx.com/

(0) Comments    Read More   
Posted on 02-09-2010
Filed Under (技术) by waterlin

不知道为什么,之前还能在 Visual Studio 2005 下编译得好好的工程,今天突然就碰到下面的问题:

Error    1    error MIDL2025 : syntax error : expecting ] or , near "annotation"    C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\unknwn.idl    108    
Error    2    error MIDL2026 : cannot recover from earlier syntax errors; aborting compilation     C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\unknwn.idl    108    

这个是 MIDL 编译器相关的问题,当你给新版本的 Windows SDK 头文件使用旧版本的 MIDL 编译器时,就会有这个问题。

解决的办法,就是把你新版本的 MIDL 编译器添加到 Visual Studio 的包含目录里。微软 Mike Wasson 的博客 MIDL error: ‘annotation’ 对此有着详细的解释,内容摘要如下:

A colleage recently got this error while compiling unknown.idl:
 
1>C:\Program Files\Microsoft SDKs\Windows\v6.0\Include\unknwn.idl(108) : error MIDL2025 : syntax error : expecting ] or , near "annotation"
1>C:\Program Files\Microsoft SDKs\Windows\v6.0\Include\unknwn.idl(108) : error MIDL2026 : cannot recover from earlier syntax errors; aborting compilation
 
If you get this error, you are using a new version of the Windows headers with an older version of the MIDL compiler.
 
Fix:
 
1. Make sure you installed the MIDL compiler when you installed the latest Windows SDK. It should appear under "Program Files\Microsoft SDKs\Windows\v6.0\Bin".
 
Note: To install the MIDL compiler, you need to select Developer Tools / Windows Development Tools / Win32 Development Tools in the Windows SDK setup wizard. (At least, as of RC1.)
 
2. In Visual Studio, under Tools > Options > Projects and Solutions > VC++ Directories > Executable Files, add
 
    x:\Program Files\Microsoft SDKs\Windows\v6.0\bin
 
to the top of the list.
(0) Comments    Read More