Windows10+vs2015源码编译subversion

Windows源码安装subversion

一、运行环境

  • windows10 64位系统

Windows10+vs2015源码编译subversion_第1张图片

  • VS2015完整安装

  • Subversion1.6.3

二、源码编译环境配置

1、python环境安装

python-2.4.msi

2、perl环境安装

ActivePerl-5.8.8.822-MSWin32-x86-280952.msi

3、openssl编译

C:>cd openssl-0.9.7f
C:>perl Configure VC-WIN32
C:>call ms\do_masm
C:>nmake -f ms\ntdll.mak
  • 出现报错

.\crypto\mem_dbg.c(607) : error C2220: warning treated as error - no 'object' fi
le generated

解决方法

修改ms\ntdll.mak文件,将第19行的CFLAG的/WX参数去掉,重新运行nmake。

没有报错后,出现如下说明编译成功

link /nologo /subsystem:console /machine:I386 /opt:ref /out:out32dll\ope
nssl.exe @C:\Users\ADMINI~1\AppData\Local\Temp\nm30D1.tmp
  • 测试openssl

cd out32dll
call ..\ms\test

最后看到如下提示信息,说明编译正常,功能正常

TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 512 bit RSA passed all tests

4、apache相关依赖模块编译

4.1、apr编译

  • 编译libapr

vs2015打开apr.dsw工程文件,编译,本次环境路径
#
C:\SVN\src-trunk\apr\apr.dsw
#
编译libapr工程

Windows10+vs2015源码编译subversion_第2张图片

  • 编译报错

编译报错:
1>apr_atomic.obj : error LNK2019: 无法解析的外部符号 __InterlockedCompareExchange,该符号在函数 _apr_atomic_cas32@12 中被引用
1>apr_atomic.obj : error LNK2019: 无法解析的外部符号 __InterlockedDecrement,该符号在函数 _apr_atomic_dec32@4 中被引用
1>apr_atomic.obj : error LNK2019: 无法解析的外部符号 __InterlockedExchange,该符号在函数 _apr_atomic_set32@8 中被引用
1>apr_atomic.obj : error LNK2019: 无法解析的外部符号 __InterlockedExchangeAdd,该符号在函数 _apr_atomic_add32@8 中被引用
1>apr_atomic.obj : error LNK2019: 无法解析的外部符号 __InterlockedIncrement,该符号在函数 _apr_atomic_inc32@4 中被引用
  • 编译报错解决

修改工具集为
Visual Studio 2015 - Windows XP (v140_xp)

Windows10+vs2015源码编译subversion_第3张图片

Windows10+vs2015源码编译subversion_第4张图片

4.2、apr-util编译

  • 编译libaprutil

vs2015打开aprutil.dsw工程文件,编译,本次环境路径
#
C:\SVN\src-trunk\apr-util\aprutil.dsw
#
编译libaprutil工程

Windows10+vs2015源码编译subversion_第5张图片

  • 跟上面一样,工程的编译工具集统一设置成v140_xp

修改工具集为
Visual Studio 2015 - Windows XP (v140_xp)

Windows10+vs2015源码编译subversion_第6张图片

5、subversion-1.6.3客户端模块编译

5.1、修改配置参数

  • 去除snprintf定义宏

修改build/generator/gen_win.py文件,删除763、764行
if target.name.find('ruby') == -1:
      fakedefines.append("snprintf=_snprintf")

Windows10+vs2015源码编译subversion_第7张图片

  • neon去除snprintf定义宏配置

修改neon/config.hw文件,删除59行
#define snprintf			_snprintf

Windows10+vs2015源码编译subversion_第8张图片

5.2、生成vcproj项目工程文件

cmd命令窗口执行
#
cd src-trunk
#运行如下python命令,生成subversion_vcnet.sln解决方案文件
python gen-make.py -t vcproj --with-openssl=..\openssl-0.9.7f --with-zlib=.\zlib --with-apr=.\apr --with-apr-util=.\apr-util --with-apr-iconv=.\apr-iconv --with-sqlite=.\sqlite-amalgamation
#
vs2015打开并编译

5.3、编译

操作同上,工程的编译工具集统一设置成v140_xp

6、目录结构

Windows10+vs2015源码编译subversion_第9张图片

Windows10+vs2015源码编译subversion_第10张图片

Windows10+vs2015源码编译subversion_第11张图片

Windows10+vs2015源码编译subversion_第12张图片

7、附件下载

<–>文章附件下载<–>

你可能感兴趣的:(svn,windows10,vs2015,cpp)