分享一个不错的iOS交叉编译脚本,我目前在用

tinyfool 发布于 2013年07月20日
无人欣赏。

来自我提的问题,一个老外帮我解决的。

export MINVER="6.1" # the minimum supported OS version
export SDKVER="6.1" # SDK version
export PREFIX="$HOME/built-for-ios" # where the library goes

export DEVROOT="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer"
export SDKROOT="${DEVROOT}/SDKs/iPhoneOS${SDKVER}.sdk"
export PKG_CONFIG_LIBDIR="${PREFIX}/lib/pkgconfig:${SDKROOT}/usr/lib/pkgconfig"
echo $PKG_CONFIG_LIBDIR
export COMMON_FLAGS="-arch armv7 -isysroot ${SDKROOT}"
export CPPFLAGS="-I${PREFIX}/include ${COMMON_FLAGS} -miphoneos-version-min=${MINVER}"
export CFLAGS="${CPPFLAGS}"
export LDFLAGS="-L${PREFIX}/lib ${COMMON_FLAGS} -Wl,-iphoneos_version_min,${MINVER}"
export CC="${DEVROOT}/usr/bin/gcc"
export CXX="${DEVROOT}/usr/bin/g++"
export OBJC="${CC}"
export LD="${CC}"

[ ! -d "${PREFIX}" ] && mkdir -p "${PREFIX}"
./configure --prefix="${PREFIX}" \
--build="x86_64-apple-darwin" \
--host="arm-apple-darwin" \
--enable-static \
--disable-shared \
glib_cv_stack_grows=no \
glib_cv_uscore=no \
ac_cv_func_posix_getgrgid_r=yes \
ac_cv_func_posix_getpwuid_r=yes
共7条回复
nsm1168 回复于 2013年07月21日

看的不是很明白,lasem交叉环境 需要 编译 libffi 和 proxy-libintl 这两个吗?

tinyfool 回复于 2013年07月21日

不是环境的问题,是说lasem库需要libffi和proxy-libintl,不过这个不用担心,我单独把这段分享出来是说,这段是可以用来编译那些C语言的代码库的iOS版本的通用脚本,如果你找到的C语言库是用./configure方式编译的话,那么用这个代码就可以编译它的iOS版本。

errant 回复于 2013年10月31日

楼主你好,我碰到了和你编译glib相同的问题。请问你是怎么解决 libintl的问题?那个老外的回复我也看了,是不是要编译这个proxy-libintl的库? 但是编译后如何用呢?替换掉gettext编出来的libintl.a吗?

tinyfool 回复于 2013年10月31日

3楼 @errant libintl我后来没研究了,他的意思是貌似proxy-libintl做出来了,就不会依赖libintl.a了

errant 回复于 2013年11月01日

4楼 @tinyfool  那么你是怎么解决glib的编译问题呢?

morpheus1984 回复于 2013年11月01日

果然还是stackoverflow靠谱。。。

cpapa 回复于 2013年12月28日

我也遇到这个问题啊。 checking for armv7-apple-darwin-gcc... /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc checking whether the C compiler works... no configure: error: in `/Users/cpapa/Library/opus-ios-build-master/opus-armv7': configure: error: C compiler cannot create executables

是不是可以直接用这个脚本呢?不怎么会用,可以手把手吗?

登录 或者 注册