安装Qt
略。
安装CMake
略。
安装MSYS2
下载msys2,双击安装。
安装依赖包
打开msys2命令行,执行以下脚本安装依赖包。
pacman -S autoconf autogen automake automake-wrapper libedit libtool m4 pkg-config btyacc bison
curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
pacman -U --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
编译libevent
mkdir libevent-build
cd libevent-build
cmake -G "MinGW Makefiles" -DEVENT__DISABLE_OPENSSL=ON ..\libevent-src-dir
cmake --build .
编译boost
bootstrap.bat gcc
b2 --prefix=..\boost-library --build-dir=..\boost-build variant=release link=shared runtime-link=shared toolset=gcc install
编译thrift
将下面的脚本保存到文件compileThrift.sh中,执行./compileThrift
(注意根据实际情况调整目录)。
#!/usr/bin/env bash
export PATH="/c/Qt/Qt5.9.9/5.9.9/mingw53_32/bin/:/c/Qt/Qt5.9.9/Tools/mingw530_32/bin:/c/Program Files/CMake/bin:$PATH"
if [ $# -gt 0 ]
then
rm -rf thrift-build
mkdir thrift-build
cd thrift-build
cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=/c/thrift-library -DWITH_SHARED_LIB=ON -DCMAKE_MAKE_PROGRAM=mingw32-make -DBOOST_ROOT=/c/boost-library -DLIBEVENT_ROOT=/c/libevent-library -DOPENSSL_ROOT_DIR=/c/Qt/Qt5.9.9/Tools/mingw530_32/opt -DBUILD_TESTING=OFF ../thrift-0.13.0
else
cd thrift-build
fi
cmake --build .
若报找不到openssl/ssl.h,可通过以下方法解决。
- 修改lib/cpp/CMakeLists.txt,在
if(OPENSSL_FOUND AND WITH_OPENSSL)
前加入find_package(OpenSSL)
。若OpenSSL不在系统目录,可通过-DOPENSSL_ROOT_DIR=OpenSSL目录
进行设置。 - 也可直接关闭OpenSSL支持
-DWITH_OPENSSL=OFF
。
安装Thrift
cd thrift-build
cmake --install .