Windows下编译apr、apr-util
前言
最近使用开源库的过程中发现在依赖库经常出现apr这个库,发现它提供了好多基础功能,如字符串处理、文件操作等,其中比较吸引人的是内存池、线程相关的内容,打算对apr作一个系统性的学习,谨以此记录下。
一、APR简介
APR (Apache portable Run-time libraries,Apache 可移植运行库) 的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期 的 Apache 版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。
随着 Apache 的进一步开 发,Apache 组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR 的开发就从 Apache 中独立出来,Apache 仅仅是使用 APR 而已。目前 APR 主要还是由 Apache 使用,不过由于 APR 的较好的移植性,因此一些需要进行移植的 C 程序也开始使用 APR,开源项目比如 Flood loader tester (http://httpd.apache.org/test/flood/,该项目用于服务器压力测试,不仅仅适用于 Apache)。
二、源码下载
源码从github上可以下载到:
apr : https://github.com/apache/apr
apr-util https://github.com/apache/apr-util/
本来下载的版本是1.2.8,但发现用VS2015转换apr.dsw会失败,也没cmake文件,转而下载版本apr-1.6.3、apr-util-1.6.1
https://github.com/apache/apr/releases/tag/1.6.3
https://github.com/apache/apr-util/releases/tag/1.6.1
三、环境介绍
apr 1.6.3
apr-util 1.6.1
cmake 3.18.0
VS 2015
Windows 10
四、生成VS2015工程并编译
1. apr
Configure --> Generate --> Open Project
编译libapr-1生成动态库libapr-1.lib、libapr-1.dll
2. apr-util
cmake生成工程会报错:
需要下载expat库,下载地址:
https://libexpat.github.io/
版本1.95.7:
https://github.com/libexpat/libexpat/releases/download/R_1_95_7/expat_win32bin_1_95_7.exe
下载安装包安装后,配置cmake如下:
操作 Configure -> Generate基本没有错误了,然后打开工程 Open Project,进行编译,如下:
编译生成libaprutil-1.lib和libaprutil-1.dll
总结
以上就是编译的apr、apr-util windows版编译介绍。