How to compile libpomelo for iOS

Monday, October 13th, 2014 | Dennis D. Spreen | iOS, Mac OS X, Pomelo

This is a tutorial on how to compile libpomelo for iOS (libpomelo is a C language client SDK for Pomelo) on Mac OS X 10.9.5 with Xcode 6.0.1.

1. download and install git
2. open a terminal and clone the libpomelo source

git clone https://github.com/NetEase/libpomelo.git

3. download gyp as well (we’re using the github gyp svnsync repo)

cd libpomelo
mkdir build
cd build
git clone https://github.com/svn2github/gyp.git

4. you can verify the latest xcode iOS SDK updates with

/usr/bin/xcodebuild -showsdks is

or download them via Xcode->Preferences->Downloads

5. prepare build script with

./build/gyp/gyp --depth=. pomelo.gyp -Dlibrary=static_library -DTO=ios

6. compile with

./build_ios

or  for use within the iOS simulator

./build_iossim

you’ll have to change the build_iossim script to use “iphonesimulator8.0” instead of “iphonesimulator6.1” (if not installed, see step 4).

7. After the ** BUILD SUCCEEDED ** message you’ll find libpomelo.a in the build/Default-iphonesimulator or build/Default-iphoneos folder

How to put the ios and iossim static library files into one library

After building both static libraries you may want to put the ios and iossim libraries into one library – containing both armv7 and ios vm x86 code:

lipo -create ./build/Default-iphoneos/libpomelo.a ./build/Default-iphonesimulator/libpomelo.a -output libpomelo.a
lipo -create ./deps/jansson/build/Default-iphoneos/libjansson.a ./deps/jansson/build/Default-iphonesimulator/libjansson.a -output libjansson.a
lipo -create ./deps/uv/build/Default-iphoneos/libuv.a ./deps/uv/build/Default-iphonesimulator/libuv.a-output libuv.a

Or you want to have them separated by name:

cp ./build/Default-iphoneos/libpomelo.a .
cp ./build/Default-iphonesimulator/libpomelo.a libpomelo_sim.a
cp ./deps/jansson/build/Default-iphoneos/libjansson.a .
cp ./deps/jansson/build/Default-iphonesimulator/libjansson.a libjansson_sim.a
cp ./deps/uv/build/Default-iphoneos/libuv.a .
cp ./deps/uv/build/Default-iphonesimulator/libuv.a libuv_sim.a

Tags: , , , ,

No comments yet.

Leave a comment

About Dennis D. Spreen

I'm an avid programmer working on a variety of platforms in a variety of languages with a wide technical interest.

Search

Categories