在windows下编译GNU Emacs

      如果还不知道emacs是什么,可以上google查一下;如果觉得notepad已经足够,或是vs.net 2003已经完美,那么下面的内容不是为您准备的。

      要取得emacs最新源代码,可以ftp://ftp.gnu.org/emacs 下载,但推荐的方法是通过CVS下载最新的源代码。使用如下命令:

export CVS_RSH="ssh" cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/emacs co emacs

现在的源代码已经挺完整,对win32的支持也很好了,至少不需要去linux下编译lisp代码。但是在编译开始之前还是需要一点准备工作,比如需要解决在makefile文件中出现的cp,rm等命令。 makefile中使用cp,rm等linux命令来copy,remove文件/文件夹,我们可以安装微软的SFU工具箱或是cygwin系统来得到这些工具。有了这些工具之后,就可以开始编译了。除此之外,windows下编译makefile使用nmake工具,还需要设置编译的环境,这些应该是很简单的。vc提供了一个配置编译环境批处理文件vsvars32.bat,在common/tools下,如果实在找不到,就search吧。

      现在可以开始了。首先需要编译的是lisp源代码,但是在这之前,我们设置一些选项,生成makefile。使用cmd运行vsvars32.bat,然后进入emacs/nt目录,运行:

configure.bat --no-debug --no-cygwin --prefix f:/gnu/emacs --cflags -I./inc

设置编译为release版本,安装目录为f:/gnu/emacs,附加的include目录为emacs/nt/inc,这里我们会放一些图形支持的头文件。 configure.bat /?显示帮助。

      如果你想编译的emacs能够显示jpeg,tiff,gif,xpm等格式的文件,或是想有一个漂亮的工具栏,那么就需要编译支持图形库的emacs。把需要的图形库头文件放在nt/inc目录下或是其他地方,然后把其路径使用-I包含进来,并把他们的dll文件与编译后的emacs放在一起。所有的图形库可以去http://gnuwin32.sourceforge.net/ 下载,包括:jpeg(jconfig.h, jerror.h, jmorecfg.h, jpeglib.h), png(png.h, pngconfg.h), tiff(tiff.h, tiffconf.h, tiffio.h, tiffvers.h), gif(gif_lib.h), xpm(X11/simx.h, X11/xpm.h), zlib(zlib.h, zconf.h)。

      设置好选项,我们开始源代码文件的编译。真正的编译从这里开始:

nmake bootstrap

若干时间之后,重新显示提示符。如果在提示符上方您看到error字样,那么很不幸,您的编译可能失败了。这时选择放弃,或是使用其他人的编译结果,都是可以理解的。 如果一切顺利,那么恭喜,您过了最容易失败的一关!接下来

nmake

就是这么简单。如果nmake还有事做,您就可以看一下README或是INSTALL,或是做一些别的事情。

      OK,现在我就当您已经编译通过了,接下来是安装。

nmake install

这会安装到您在configure时设置的路径下,这里是f:/gnu/emacs。 现在还没有完。

      默认的,emacs运行需要一个home环境变量;默认的,如果没有找到,则设为C:。但我最讨厌软件信息到处都是。打开注册表HKEY_LOCAL_MACHINE/SOFTWARE/GNU/Emacs,设置HOME为f:/gnu/emacs/home,所有的配置文件就都会放在这个目录下了。

      另外提及一点,默认的makefile文件比较保守,只支持到win98的样子,我们可以修改nmake.defs中的WIN32_WINNT=0x0500,让他可以使用win2k以后的系统的一些新的特性。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值