Windows10+vs2015源码编译subversion

Windows源码安装subversion

一、运行环境

  • windows10 64位系统

在这里插入图片描述

二、源码编译环境配置

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工程

在这里插入图片描述

  • 编译报错

编译报错:
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)

在这里插入图片描述

在这里插入图片描述

4.2、apr-util编译

  • 编译libaprutil

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

在这里插入图片描述

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

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

在这里插入图片描述

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")

在这里插入图片描述

  • neon去除snprintf定义宏配置

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

在这里插入图片描述

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、目录结构

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7、附件下载

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/131595.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode 剑指 Offer II 052. 递增顺序搜索树

题目难度: 简单 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给你一棵二叉搜索树&#xff0c;请 按中序遍历 将其重新排列为一…

拦截器学习(黑马程序员)

实现步骤&#xff1a; 定义拦截器注册配置拦截器 1 自定义拦截器&#xff1a;实现HandlerInterceptor接口&#xff0c;并重写其所有方法&#xff1a; //自定义拦截器 Component public class LoginCheckInterceptor implements HandlerInterceptor { //目标资源方法执行前执…

Linux的基本指令(1)

目录 快速认识的几个指令 pwd指令 mkdir指令 touch指令 cd指令 clear指令 whoami指令 ls指令 ls -l ls -la ls 目录名 ls -ld 目录名 文件 路径 路径是什么&#xff1f; 路径的形成 ​ 怎么保证路径必须有唯一性&#xff1f; ls -la隐藏文件 隐藏文件的是什…

[量化投资-学习笔记009]Python+TDengine从零开始搭建量化分析平台-KDJ

技术分析有点像烹饪&#xff0c;收盘价、最值、成交量等是食材&#xff1b;均值&#xff0c;移动平均&#xff0c;方差等是烹饪方法。随意组合一下就是一个技术指标。 KDJ又称随机指标&#xff08;随机这个名字起的很好&#xff09;。KDJ的计算依据是最高价、最低价和收盘价。…

思维模型 梅拉宾法则

1 梅拉宾法则的应用 1.1 演讲口才中的梅拉宾法则应用 苹果公司的演讲&#xff1a;苹果公司的演讲一直以来都以其独特的风格和效果著称。苹果公司的演讲者在演讲中注重运用肢体语言和声音等非语言因素&#xff0c;如手势、表情和语调等&#xff0c;来增强演讲的效果。例如&am…

想要和猫妹一起学Python吗?快进群吧

这是一篇2024年猫妹学Python新同学召集令&#xff0c;感兴趣的朋友可以看下。 初始Python 猫爸第一次被Python惊艳&#xff0c;是几年前的一个风格迁移程序。 国外某大学的一篇博士论文&#xff0c;为风格迁移提供了理论支撑。 下载到模型之后&#xff0c;就可以用简单的Py…

SpringCloud——消息驱动——Stream

1.什么是消息驱动 消息驱动就是屏蔽底层消息中间件的差异&#xff0c;降低切换成本&#xff0c;统一消息的编程模型。目前仅支持RabbitMQ、Kafka。 2.消息中间件有什么问题&#xff0c;stream靠什么实现&#xff1f; 如果我们项目用到了RabbitMQ和Kafka&#xff0c;由于这两个…

93. 递归实现组合型枚举

题目 思路 一个m个坑位&#xff0c;填n个数&#xff0c;就依次往里放就好了 同时判断一下升序&#xff0c;当前这个数比前一个数大就可以了 代码 #include <bits/stdc.h> using namespace std; int n, m; int ans[30]; int f[30]{0}; void dfs(int v) {if (v > m) …

C++---类的优化构造

首先&#xff0c;先介绍以下拷贝构造和构造的区别。 拷贝构造Date&#xff08;Date& d&#xff09;初始化&#xff1a;用一个实例对象去初始化一个未初始化的对象&#xff0c; 例&#xff1a;如果d1未被实例化&#xff0c;则Date d1 d2; 也会被编译器认为拷贝构造&#…

智慧工地建筑施工项目管理平台源码,实现人员劳务实名制管理、区域安防监控、智能AI识别、用电/水监控、噪音扬尘监测、现场物料管理等功能

智慧工地管理系统源码&#xff0c;智慧工地云平台源码&#xff0c;PC端APP端源码 智慧工地管理平台实现对人员劳务实名制管理、施工进度、安全管理、设备管理、区域安防监控系统、智能AI识别系统、用电/水监控系统、噪音扬尘监测、现场物料管理系统等方面的实时监控和管理&…

帝国cms中如何让外部链接直接从新窗口打开页面

<?php if($bqr[isurl]) { ?> <a href"<?$bqsr[titleurl]?>" target"_blank"> <?php } else { ?> <a href"<?$bqsr[titleurl]?>"> <?php } ?>

华硕荣获“EPEAT Climate+ Champion”永续先驱称号

华硕持续深耕永续理念&#xff0c;努力提供低碳排放、高效能产品&#xff0c;并被全球电子委员会授予“EPEAT Climate Champion”称号。这一荣誉再次表明了华硕在永续管理方面的承诺&#xff0c;并凸显了华硕在追求永续发展上的决心。 华硕通过设立“科学基础减碳目标”、“再生…

工资10K,副业20K,这届程序员搞副业真野

最近刚完成了一个远程外包项目工作&#xff0c;钱刚到账&#xff0c;小金库又添了一笔&#xff1a; 从一开始的15K死工资&#xff0c;到现在的主业副业一共25K收入&#xff0c;最近的经济压力小了很多&#xff0c;终于也有闲钱和老婆去旅旅游&#xff0c;升级一下外设&#xff…

Linux学习教程(第一章 简介)3

第一章 简介 七、Linux系统的优缺点 前面章节提到&#xff0c;相比 Windows 系统&#xff0c;Linux 系统有更好的稳定性&#xff0c;那么除此之外&#xff0c;Linux 系统还有那些优点&#xff08;或者不足&#xff09;呢&#xff1f;本节带领大家详细了解一下。 1、大量的可…

【CASS精品教程】cass3d基于DOM和DEM生成倾斜三维模型

和EPS一样&#xff0c;cass3d也可以生成三维模型。本文讲解 cass3d基于pix4d生成的正射影像DOM和DSM生成倾斜三维模型&#xff0c;并进行三维测图。 一、三维倾斜模型打开 打开cass11.0软件&#xff0c;打开三维窗口&#xff0c;点击打开模型&#xff0c;选择基于dom和dsm生成…

keepalived+Nginx+邮件

实验场景&#xff1a; 我使用keepalived保证nginx的高可用&#xff0c;我想知道什么时候ip发生漂移&#xff0c;可以让ip发生漂移的时候 我的邮箱收到消息. 如果对keepalived不了解&#xff0c;这有详细解释&#xff1a;keepalived与nginx与MySQL-CSDN博客https://blog.csdn.ne…

中国智能驾驶的“突围赛”打响,这家本土厂商为何能成为“先行者”?

中国本土厂商正在成为全球智能汽车产业链的“核心力量”。 根据《高工智能汽车研究院》数据显示&#xff0c;今年1-6月&#xff0c;自主品牌标配L2&#xff08;含L2&#xff09;级辅助驾驶交付新车155.34万辆。其中&#xff0c;搭载中国本土智能驾驶解决方案提供商&#xff08…

【LeetCode】每日一题 2023_11_11 情侣牵手(并查集/贪心)

文章目录 刷题前唠嗑题目&#xff1a;情侣牵手题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 好好好&#xff0c;这么玩是吧&#xff0c;双十一出道情侣牵手 题目&#xff1a;情侣牵手 题目链接&#xff1a;765…

C++ static关键字

C static关键字 1、概述2、重要概念解释3、分情况案例解释3.1 static在类内使用3.2 static在类外使用案例一&#xff1a;案例二&#xff1a;案例三 1、概述 static关键字分为两种情况&#xff1a; 1.在类内使用 2.在类外使用 2、重要概念解释 &#xff08;1&#xff09;翻译…

初识RabbitMQ - 安装 - 搭建基础环境

RabbitMQ 各个名词介绍 Broker&#xff1a;接收和分发消息的应用&#xff0c;RabbitMQ Server 就是 Message Broker Virtual host&#xff1a;出于多租户和安全因素设计的&#xff0c;把 AMQP 的基本组件划分到一个虚拟的分组中&#xff0c;类似于网络中的 namespace 概念。当…
最新文章