在windows上编译apr库apr-util库
在windows上编译apr库apr-util库
环境:
win10、VS2015企业版、CMake3.18.2
一、下载apr相关库
1.1)expat:expat-2.1.0.tar.gz
1.2)apr库:apr-1.6.3.zip
1.3)apr-util库:apr-util-1.6.1-win32-src.zip
解压到指定目录下,最后的目录结构如下
二、编译expat
2.1)编写构建脚本build_expat_for_vs_2015_x86_debug.bat
下面是脚本
@echo off::VS2015 x86编译环境
call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86::创建构建目录
if not exist cmake (mkdir cmake
)
cd cmake::创建nmake工程
::MSVC=ON 禁止4996警告
::BUILD_tools=OFF 禁止生成BUILD_tools
::BUILD_examples=OFF 禁止生成BUILD_examples
::BUILD_tests=OFF 禁止生成BUILD_tests
::DBUILD_shared=OFF 生成静态库
::CMAKE_BUILD_TYPE=Debug 生成调试信息
cmake -G "NMake Makefiles" -DMSVC=ON -DBUILD_tools=OFF -DBUILD_examples=OFF -DBUILD_tests=OFF -DBUILD_shared=OFF -DCMAKE_BUILD_TYPE=Debug ..
nmake
pause
2.2)生成expat库
将build_expat_for_vs_2015_x86_debug.bat文件放到expat-2.1.0目录下,执行脚本生成静态库expat.lib文件。
三、编译apr
3.1)编写构建脚本build_apr_for_vs_2015_x86_debug.bat
下面是脚本
@echo off::VS2015 x86编译环境
call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86::创建构建目录
if not exist cmake (mkdir cmake
)
cd cmake::创建nmake工程
::APR_INSTALL_PRIVATE_H=OFF 禁止APR_INSTALL_PRIVATE_H
::APR_HAVE_IPV6=OFF 禁止APR_HAVE_IPV6
::INSTALL_PDB=OFF 禁止INSTALL_PDB
::APR_BUILD_TESTAPR=OFF 禁止APR_BUILD_TESTAPR
::TEST_STATIC_LIBS=OFF 禁止TEST_STATIC_LIBS
::CMAKE_BUILD_TYPE=Debug 生成调试版本
cmake -G "NMake Makefiles" -DAPR_INSTALL_PRIVATE_H=OFF -DAPR_HAVE_IPV6=OFF -DINSTALL_PDB=OFF -DAPR_BUILD_TESTAPR=OFF -DTEST_STATIC_LIBS=OFF -DCMAKE_BUILD_TYPE=Debug ..
nmake::拷贝头文件
copy /y apr.h ../include/pause
说明:如果拷贝失败,手动拷贝。从make文件夹拷到include文件夹。
3.2)生成apr库
将build_apr_for_vs_2015_x86_debug.bat 文件放到apr-1.6.3目录下,执行脚本生成静态库apr-1.lib文件。
四、编译apr-util
4.1)修改CMakeLists.txt文件,添加红色的内容
PROJECT(APR-Util C)CMAKE_MINIMUM_REQUIRED(VERSION 2.8)#FIND_PACKAGE(OpenSSL)#FIND_PACKAGE(expat)
...
SET(install_bin_pdb ${install_bin_pdb} ${PROJECT_BINARY_DIR}/libaprutil-1.pdb)
TARGET_LINK_LIBRARIES(libaprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES} ${SYSTEM_LIBRARIES})
SET_TARGET_PROPERTIES(libaprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_EXPORT;APR_DECLARE_EXPORT;XML_STATIC;WINNT")
...
SET(install_targets ${install_targets} aprutil-1)
TARGET_LINK_LIBRARIES(aprutil-1 ${APR_LIBRARIES} ${XMLLIB_LIBRARIES} ${SYSTEM_LIBRARIES})
SET_TARGET_PROPERTIES(aprutil-1 PROPERTIES COMPILE_DEFINITIONS "APU_DECLARE_STATIC;APR_DECLARE_STATIC;APU_DSO_MODULE_BUILD;XML_STATIC")
说明:增加两个${SYSTEM_LIBRARIES}
去掉 #FIND_PACKAGE(OpenSSL) #FIND_PACKAGE(expat) 加#
4.2)编写构建脚本build_aprutil_for_vs_2015_x86_debug.bat
@echo off::VS2015 x86编译环境 call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86set CURRENT_DIR=%~dp0
::设置APR头文件目录 set APR_INCLUDE_DIR=%CURRENT_DIR%apr-1.6.3\include ::设置APR库文件 set APR_LIBRARIES=%CURRENT_DIR%apr-1.6.3\cmake\apr-1.lib
::设置EXPAT头文件目录 set EXPAT_INCLUDE_DIRS=%CURRENT_DIR%../expat-2.1.0/lib ::设置EXPAT库文件 set EXPAT_LIBRARIES=%CURRENT_DIR%../expat-2.1.0/cmake/expat.lib ::设置window系统库文件 set SYSTEM_LIBRARIES="ws2_32.lib mswsock.lib rpcrt4.lib"::创建构建目录 if not exist cmake (mkdir cmake ) cd cmake::创建nmake工程 ::MSVC=ON 禁止4996警告 ::APU_HAVE_CRYPTO=OFF 禁止APU_HAVE_CRYPTO ::APU_HAVE_ODBC=OFF 禁止APU_HAVE_ODBC ::APU_HAVE_ODBC=OFF 禁止APU_HAVE_ODBC ::APR_HAS_LDAP=OFF 禁止APR_HAS_LDAP ::INSTALL_PDB=OFF 禁止INSTALL_PDB ::APR_BUILD_TESTAPR=OFF 禁止APR_BUILD_TESTAPR ::TEST_STATIC_LIBS=OFF 禁止TEST_STATIC_LIBS ::APR_INCLUDE_DIR=ON 启用EXPAT_FOUND ::APR_INCLUDE_DIR=%APR_INCLUDE_DIR% 设置APR头文件目录 ::APR_LIBRARIES=%APR_LIBRARIES% 设置APR库文件 ::EXPAT_INCLUDE_DIRS=%EXPAT_INCLUDE_DIRS% 设置EXPAT头文件目录 ::EXPAT_LIBRARIES=%EXPAT_LIBRARIES% 设置EXPAT库文件 ::SYSTEM_LIBRARIES=%SYSTEM_LIBRARIES% 设置window系统库文件 ::CMAKE_BUILD_TYPE=Debug 生成调试版本 cmake -G "NMake Makefiles" -DAPU_HAVE_CRYPTO=OFF -DAPU_HAVE_ODBC=OFF -DAPR_HAS_LDAP=OFF -DINSTALL_PDB=OFF -DAPR_BUILD_TESTAPR=OFF -DTEST_STATIC_LIBS=OFF -DEXPAT_FOUND=ON -DAPR_INCLUDE_DIR=%APR_INCLUDE_DIR% -DAPR_LIBRARIES=%APR_LIBRARIES% -DEXPAT_INCLUDE_DIRS=%EXPAT_INCLUDE_DIRS% -DEXPAT_LIBRARIES=%EXPAT_LIBRARIES% -DSYSTEM_LIBRARIES=%SYSTEM_LIBRARIES% -DCMAKE_BUILD_TYPE=Debug .. nmake pause
4.3)生成aprutil库
将build_aprutil_for_vs_2015_x86_debug.bat 文件放到apr-util-1.6.1目录下,执行脚本生成静态库aprutil-1.lib和动态库libaprutil-1.lib、libaprutil-1.dll文件。
在windows上编译apr库apr-util库相关推荐
- 手把手教你用delphi 10.2.3 在windows上编译Centos 7下的命令行程序,适合中小学生
手把手教你用delphi 10.2.3 在windows上编译Centos 7下的命令行程序,适合中小学生 1.下载并安装 a)下载:delphicbuilder10_2_3_2631.iso ...
- 在Windows上编译FreeRDP
在Windows上编译FreeRDP FreeRDP是RDP协议的一个开源实现,像mstsc远程桌面也是RDP协议的一个实现微软把它预装在Windows系统中.今天我们就讲下如何在Windows下编译 ...
- 手把手教你在Windows上编译Swift工具链
2020/5/27更新:大家现在可以直接从Saleem Abdulrasool的Azure Pipeline中下载打包好的Swift Windows SDK了,在他的GitHub中找到swift-bu ...
- php在windows编译_在Windows上编译PHP
php在windows编译 Compiling PHP from source code is more commonly done on Unix-type systems. Those worki ...
- Windows上编译libpng
Windows上编译libpng 下载libpng 1.5.10并解压到[工作目录]/png/libpng-1.5.10 用CMake选择png/libpng-1.5.10目录并Configure: ...
- Windows上编译OpenEXR
Windows上编译OpenEXR 注意一定要使用1.0.1版本的ilmbase和1.6.1版本的openexr,其它版本的我测试过,OpenImageIO会编译失败. 解压ilmbase 1.0.1 ...
- windows上编译安装pytorch的c++扩展
环境描述 window10 python3.6.8 [MSC v.1916 64 bit (AMD64)] pytorch 1.10.0+cu113 cuda版本 11.1 使用mingw32编译 编 ...
- Windows上编译github源码方式运行Node-RED,以及离线迁移安装Node-RED
场景 Node-RED简介与Windows上安装.启动和运行示例: Node-RED简介与Windows上安装.启动和运行示例_BADAO_LIUMANG_QIZHI的博客-CSDN博客 上面是在Wi ...
- windows上编译zlib-1.2.8
MSVC编译 使用VS(x86)命令行工具进入到zlib根目录,执行 nmake -f win32/Makefile.msc ,在根目录下生成:zlib.lib(静态库) zdll.lib(动态库的 ...
最新文章
- python打开网页存图_python 获取网页图片 保存在本地
- drupal7 php版本,让Drupal7识别您的模块
- dsp-asic-fpga
- 皮一皮:王大爷尽说些大实话...
- Makefile经典教程
- opengl 教程(21) 聚光灯
- 设计模式六大原则(5)——迪米特原则
- 数据库计算机报告,外文数据库计算机检索报告实例.pdf
- 41状态模式(State Pattern)
- 你和文字,陪我行走岁月
- GTUG的推荐给大家的一本书
- Java取邮箱名_邮件开发 中的邮箱地址提取!
- java 答题卡_·(B卷)Java期末试卷及答题卡(2005-2006第二学期).doc
- 万字讲解WiFi为何物
- 基于Cocos2d-x游戏引擎实战开发超人
- 基于KEIL RTX CMSIS-RTOS在STM32单片机上的一些使用心得
- js获取图片点坐标值
- 合成孔径雷达原理-绪论
- 【python-sklearn】中文文本处理LDA主题模型分析
- Duolingo推出聊天学习机器人 让你免费学英语