Skip to content


Windows编译Subversion简要说明

一直没有在Windows下编译Subversion,官方的编译说明(源代码目录中的文件INSTALL)还不错,只是有一些太全面了,一下子搞定全部还真的有点麻烦,这里说说最简单的部分吧,只是说一下一些需要注意的地方。

首先说说编译环境,我是用VC6做的,根据说明可以下载VC6,必须是service pack打全了,好象是SP6。然后要安装可用的Windows SDK,可惜文档指向的那个SDK根本不支持VC6,我们还要下载一个旧版本的,可以从下面其中某个链接得到:

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm

下载后的安装方式,可以参看上面的链接,安装后还要与VC6集成,这个时候要先运行一次VC6,然后运行SDK的registration就完成了注册,最后看看VC6的选项,是不是包含了最新SDK的路径。

再说说目录,文档中说要将Subversion的源代码放到根目录SVN/src-trunk下,我就放到了F:\SVN\src-trunk,虽然不是必须的,不过这么做也是有原因的,后面会说到。

然后下载需要的东西,主要就是INTALL中的“E.1 Prerequisites”部分的内容,需要注意的就是subversion依赖包,里面包含了apr,zlib和neon,可以从这里下载,然后把这些包解压缩放到F:\SVN\src-trunk下,你可能会注意到apr的几个项目可以用vc打开,也可以用VC编译,如果后面遇到找不到apr.h之类的编译问题,你就需要自己编译一下这几个项目。

下面按照说明继续就可以了,为了简单,我们可以先把ssl、apache的设置先省去,只准备编译最基本的部分,这样做完了设置后,就可以进行编译了。

这里我们用了一个批处理文件,位于F:\SVN\src-trunk\build\win32\vc6-build.bat.in,我们可以通过修改它来建立我们的构建脚本,我们将这个文件拷贝到F:\SVN,重命名为vc6-build.bat,然后修改开头环境变量部分,我的修改如下:

rem ====== Set these shell variables before doing a build.
rem VER is used to name the output bin dir as svn-win32-%VER%
set VER=trunk
rem DIR is appended to src- to make the dir name, e.g., src-trunk
set DIR=trunk
set DRIVE=F
set PYTHONDIR=D:\language\python25
set AWKDIR=F:\SVN\awk
set NASMDIR=F:\SVN\asm
set SDKINC=D:\Program Files\Microsoft SDK\include
set SDKLIB=D:\Program Files\Microsoft SDK\lib
set APACHEDIR=D:\server\Apache2
set GETTEXTINC=F:\SVN\gettext-0.14.4-bin\include
set GETTEXTLIB=F:\SVN\gettext-0.14.4-bin\lib
set GETTEXTBIN=F:\SVN\gettext-0.14.4-bin\bin
rem ====== End of shell variables which need to be set.

然后因为我的编译没有涉及apache,和ssl,所以删除apache和ssl的编译,然后修改处理Subversion项目部分的内容如下:

python gen-make.py -t dsp –with-berkeley-db=db4-win32 –enable-nls –enable-bdb-in-apr-util –with-libintl=..\svn-win32-libintl

然后运行这个批处理,希望没有出错,那就看看你的F:\SVN\svn-win32-trunk\bin,有没有生成的dll和exe,然后运行一个svn –version看看如何。

Related posts:

  1. 编译OpenSSL
  2. 自己动手简化图片处理
  3. FTP image with Conext Menu
  4. 分布式版本控制工具Bazaar
  5. Resize Image In Context Menu

Posted in subversion.

0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.