环境:
win7_x64旗舰版、VS2015企业版、CMake3.8
一、下载apr和expat
1.1 apr库下载地址:https://github.com/apache/apr/archive/trunk.zip
1.2 expat库下载地址:https://github.com/libexpat/libexpat/archive/master.zip
二、编译expat
2.1 解压expat到指定目录。
2.2 使用VS2015打开expat.sln文件。
2.3 编译"expat_static"项目。
三、编译apr
3.1 加压apr到指定目录。
3.2 修改CMakeLists.txt文件,添加红色内容。
FIND_PACKAGE(Expat) FIND_PACKAGE(LibXml2) FIND_PACKAGE(OpenSSL) IF (USE_XML_STATIC) ADD_DEFINITIONS(-DXML_STATIC) ENDIF() IF(NOT EXPAT_FOUND AND NOT LIBXML2_FOUND) MESSAGE(FATAL_ERROR "Either Expat or LibXml2 is required, but neither was found") ENDIF()
3.3 编写生成脚本build.bat。
@echo off set CURRENT_DIR=%~dp0 ::设置expat头文件目录 set PC_EXPAT_INCLUDE_DIRS=%CURRENT_DIR%../libexpat-master/expat/lib ::设置expat库文件目录 set PC_EXPAT_LIBRARY_DIRS=%CURRENT_DIR%../libexpat-master/expat/win32/bin/Debug ::创建cmake目录 if not exist cmake ( mkdir cmake ) cd cmake ::VS1025环境 call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86 ::生成namke文件 cmake -G "NMake Makefiles" -D CMAKE_BUILD_TYPE=Debug -D EXPAT_FOUND=1 -D PC_EXPAT_INCLUDE_DIRS=%PC_EXPAT_INCLUDE_DIRS% -D PC_EXPAT_LIBRARY_DIRS=%PC_EXPAT_LIBRARY_DIRS% -D USE_XML_STATIC=ON .. nmake pause
3.4 编译生成apr库。
将build.bat文件放到apr根目录,执行build.bat编译生成apr库。