此次编译使用的Xcode4.6版本 macOS X为10.9版本
1.1打开终端执行make –f makefile文件
1.2编译正常完成后生成的对应的armv7架构的和模拟器架构的.a文件。
将xcode4.6拷贝到应用目录下
此次编译使用的Xcode4.6版本 macOS X为10.9版本 gdal版本为 1.11.0
1.1 打开https://gist.github.com/JesseCrocker/22eee94485bce5b3a6ea下载build_gdal_ios.sh拷入gdal
1.2 打开gdal文件找到build_gdal_ios.sh文件并打开
1.3 配置SDK路径,C和C++编译器路径(build_gdal_ios.sh文件第81~97行)
platform_dir="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer"
platform_bin_dir="$/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin"
platform_sdk_dir="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk"
prefix="${prefix}/${arch}/${platform}.platform/${platform}${IPHONEOS_DEPLOYMENT_TARGET}.sdk"
echo
echo library will be exported to $prefix
#setup compiler flags
export CC="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc"
export CFLAGS="-arch ${arch} -pipe -Os -gdwarf-2 -isysroot ${platform_sdk_dir} ${extra_cflags}"
export LDFLAGS="-arch ${arch} -isysroot ${platform_sdk_dir}"
export CXX="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++"
export CXXFLAGS="${CFLAGS}"
export CPP="/Applications/Xcode.app/Contents/Developer/usr/bin/cpp"
export CXXCPP="${CPP}"
echo CFLAGS ${CFLAGS}
重要的相关配置(115~148行)
--enable-static \ 生成静态库
--with-geos=no 是否支持geos
--with-static-proj4=${prefix} \ 是否支持proj4
1.4关闭并保存
1.5 打开终端
1.6 cd 进入文件目录
1.7
执行命令
`sh build_gdal_ios.sh -p "location where you want to save the resulting files" simulator`
例如:
sh build_gdal_ios.sh -p /Users/stargistj/Desktop/3rd/gdal-1.11.1/lib simulator
生成模拟器的静态库文件。
执行命令
`sh build_gdal_ios.sh -p "location where you want to save the resulting files" -a "architecture" device`
例如:
sh build_gdal_ios.sh -p
/Users/stargistj/Desktop/3rd/gdal-1.10.1/lib -a armv7 device
生成各个模拟器的静态库文件
1.8 最后执行命令生成的模拟器和真机静态库文件合并
lipo “armv7路径 armv7s路径 ”-create
下载geos3.8.8源码到桌面使用xcode5.1.1进行编译
1、打开geos-3.3.8文件修改CMakeLists.txt
在第158行添加有关APPLE平台的内容
(内容过多为简洁易懂该部分保存在GeosMake文本文件内)
目的:使其进行iOS静态库的编译
2、打开CMake 2.8-12 将Cmakelist.txt拖入并设置生成目录
点击configure进行配置将所有搜索/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/
的地方修改为搜索
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/
3、
将geos_svn_revision.h问拷贝到目标文件夹即可
4、进入生成的Xcode工程选择真机进行编译
即可生成对应静态库
编译环境为Xcode4.6
1、编写build_proj_ios.sh
主要内容有设置编译器路径
#setup compiler flags
export CC="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc"
export CFLAGS="-arch ${arch} -pipe -Os -gdwarf-2 -isysroot ${platform_sdk_dir} ${extra_cflags}"
export LDFLAGS="-arch ${arch} -isysroot ${platform_sdk_dir}"
export CXX="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/g++"
export CXXFLAGS="${CFLAGS}"
export CPP="/Applications/Xcode.app/Contents/Developer/usr/bin/cpp"
export CXXCPP="${CPP}"
设置proj静态库安装路径
proj_prefix="/Users/stargistj/Desktop/iOS_GDAL"
进入proj源码目录
cd /Users/stargistj/Desktop/needlib/proj-4.8.0
对proj进行配置
./configure \
--prefix=${proj_prefix} \
--enable-shared=no \
--enable-static=yes \
--host=$host \
"$@" || exit
安装proj
time make install || exit
该完整内容保存在projsh文本文件中
2、打开终端进入proj源码文件
cd /Users/stargistj/Desktop/needlib/proj-4.8.0
3、执行.sh文件
sh build_proj_ios.sh -p /Users/stargistj/Desktop/libGDAL device
4、在指定目录生成了相应的proj的静态库。
1、打开终端进入源码文件
2、依次编译freetype文本文件的命令
3、最终在源码文件中生成静态库文件
重点:选择xcode4.6进行编译
将需要编译的源码直接在xocde4.6中进行编译即可