forked from PurpleI2P/i2pd_docs_en
2.2 KiB
2.2 KiB
在 iOS 上构建
如何为 iOS 9 和 iOS 模拟器 386/x64 构建 i2pd
先决条件
Xcode 7+,cmake 3.2+
依赖项
- 预编译的 openssl
- 预编译的 boost,包含模块
filesystem
、program_options
、date_time
和system
- 来自
https://github.com/vovasty/ios-cmake.git
的 ios-cmake 工具链
构建
假设你的目录结构如下
lib/
libboost_date_time.a
libboost_filesystem.a
libboost_program_options.a
libboost_system.a
libboost.a
libcrypto.a
libssl.a
include/
boost/
openssl/
ios-cmake/
i2pd/
mkdir -p build/simulator/lib build/ios/lib include/i2pd
pushd build/simulator && \
cmake -DIOS_PLATFORM=SIMULATOR \
-DPATCH=/usr/bin/patch \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=../../ios-cmake/toolchain/iOS.cmake \
-DWITH_STATIC=yes \
-DWITH_BINARY=no \
-DBoost_INCLUDE_DIR=../../include \
-DOPENSSL_INCLUDE_DIR=../../include \
-DBoost_LIBRARY_DIR=../../lib \
-DOPENSSL_SSL_LIBRARY=../../lib/libssl.a \
-DOPENSSL_CRYPTO_LIBRARY=../../lib/libcrypto.a \
../../i2pd/build && \
make -j16 VERBOSE=1 && \
popd
pushd build/ios
cmake -DIOS_PLATFORM=OS \
-DPATCH=/usr/bin/patch \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=../../ios-cmake/toolchain/iOS.cmake \
-DWITH_STATIC=yes \
-DWITH_BINARY=no \
-DBoost_INCLUDE_DIR=../../include \
-DOPENSSL_INCLUDE_DIR=../../include \
-DBoost_LIBRARY_DIR=../../lib \
-DOPENSSL_SSL_LIBRARY=../../lib/libssl.a \
-DOPENSSL_CRYPTO_LIBRARY=../../lib/libcrypto.a \
../../i2pd/build && \
make -j16 VERBOSE=1 && \
popd
libtool -static -o lib/libi2pdclient.a build/*/libi2pdclient.a
libtool -static -o lib/libi2pd.a build/*/libi2pd.a
cp i2pd/*.h include/i2pd
集成到项目
- 将
lib
文件夹中的所有库添加到Project linked frameworks
。 - 从系统库中添加
libc++
和libz
到Project linked frameworks
。 - 将 i2p 头文件的路径添加到你的
Headers search paths
。
或者,你可以使用 swift 封装 https://github.com/vovasty/SwiftyI2P.git