苦于没有空闲的 Linux 服务器了,只好用 Windows 来搭一个 Bugzilla 服务器。浏忙绪绪我今天就给大家介绍一下 Windows 下 Bugzilla 的简易安装与配置。
Windows 下安装 Bugzilla 可以看官方文档,不过这里推荐使用一次性简易完全安装包,懒人有懒福嘛。的确,对于小公司来说,没有什么需要精心配置的东西。
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 即可。
记得,要设置 urlbase,否则用户一注册,收到的邮件里,都没有网址的前缀了 :)
以后再介绍更多小技巧,呵,敬请期待。
使用默认的 Emacs 字体颜色,会让人疯掉的;但是你使用了 Emacs Theme 后,可能依然会觉得 Org Mode 或 Muse Mode 的颜色让人看着不舒服,或太亮或太暗。
这个时候,我们可以轻松地通过以下方式定制它们的字体、背景颜色等。
可以用
M-x customize-group RET org-faces RET
来定义各级菜单字体的颜色、背景颜色等。当然,Org Mode 的定义有点特殊,对于普通的文字设置,需要通过
M-x customize-face RET default RET
来对 Emacs 全文的普通字体来进行设置。
可以用
M-x customize-group RET muse-colors RET
来定义 Emacs Muse 各级菜单字体的颜色、字体大小、背景颜色等。
如果你看到了喜欢的字体,想设置为你的字体,要怎么办呢?
先找到你喜欢的颜色,用
M-x describe-face
来查看相应的名称,然后再用
M-x customize-face RET default RET
来设置相关的颜色。
当然,你也可以通过一些工具来获得颜色的名称。
写了一大堆的代码,要生成 C++ 类的文档及关系图怎么办呢?对,就是生成 MFC 类库示意图那样让人赏心悦目的东西。
总体来说,生成这种文档有三种思路:
用 Doxygen 可以跨平台,在维护代码的同时,维护文档,很方便很实用。
如果需要生成类的关系图,可以用 Doxygen 配上 Graphviz,安装好 Graphviz 后,需要把该可执行目录添加到系统的 Path 里,这样在 Doxygen 里就可以用 Graphviz 来生成类的关系图。
如果是在 vim, Emacs 这类文本编辑器里,则可以很自然地使用宏操作来插入 Doxygen 注释;如果是用 Visual Studio 的话呢,也是可以用 DoxyComment add-in for Visual Studio 2005 之类的东西来完成。
用 Doxygen 来生成文档有一个要注意的地方,源代码文件的编码和 Doxygen 选用的字符编码需要一致,否则生成的文档会乱码。现在这个年代,当然是统一用 UTF-8 好一点了。
MSDN 上专门有关于使用 Class Diagram 的介绍。
在使用有关 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上还有对这个问题的讨论,看来真是微软自摆乌龙了。
GMX 邮箱,在德语区(德国、瑞士、奥地利)很受欢迎,在这些地方的地位相比要大于网易在国内的地位。
优点:
缺点:
不知道为什么,之前还能在 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.