欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何實(shí)現(xiàn)protobuf在XCODE上armv7/armv7s/i386的交叉編譯

折騰了4天,終于在xcode上完成protobuf2.5.0的交叉編譯,希望與我遇到相同問題的同學(xué)不在糾結(jié)。分享如下:

成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷策劃、微信小程序定制開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十年以來,已經(jīng)為上1000+成都軟裝設(shè)計(jì)各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的上1000+客戶與我們一路同行,見證我們的成長(zhǎng);未來,我們一起分享成功的喜悅。

步驟一:部署protoc.exe

1)sudo su             ---進(jìn)入管理模式

//以下操作切換至protobuf文件夾下

2)./configure

3)make

4)make check

5)make install

此時(shí)可以查看protobuf文件夾下面的makefile文件,可以查看-build表示的本機(jī)環(huán)境以及-host表示的編譯庫的運(yùn)行環(huán)境

我本地的-build=x86_64-apple-darwin12.3.0  

-host=x86_64-apple-darwin12.3.0

(這兩個(gè)參數(shù)在后續(xù)配置腳本需要用到,與后面腳步的i686-apple-darwin12.3.0以及arm-apple-darwin12.3.0后綴“arm-apple-darwin12.3.0”保持一致)

6)make distclean清理已生成的makefile,為交叉編譯配置新makefile做準(zhǔn)備

步驟二:配置交叉編譯

1)執(zhí)行腳本ios-build.sh,腳本內(nèi)容如下:

configure_for_platform() {

export PLATFORM=$1

#export PLATFORM=iPhoneOS

echo "Platform is ${PLATFORM}"

if [ "$PLATFORM" == "iPhoneSimulator" ]; then

export ARCHITECTURE=i386

export ARCH=i686-apple-darwin12.3.0

fi

if [ "$PLATFORM" == "iPhoneOS" ]; then

export ARCHITECTURE=$2

export ARCH=arm-apple-darwin12.3.0

fi

export ARCH_PREFIX=$ARCH-

export SDKVER="6.1"   #sdk版本號(hào)必須正確

export DEVROOT=/Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer

export SDKROOT="$DEVROOT/SDKs/${PLATFORM}$SDKVER.sdk"

export PKG_CONFIG_PATH="$SDKROOT/usr/lib/pkgconfig:$DEVROOT/usr/lib/pkgconfig"

export AS="$DEVROOT/usr/bin/as"

export ASCPP="$DEVROOT/usr/bin/as"

export AR="$DEVROOT/usr/bin/ar"

export RANLIB="$DEVROOT/usr/bin/ranlib"

#export CPP="$DEVROOT/usr/bin/c++"

#export CXXCPP="$DEVROOT/usr/bin/c++"

export CC="$DEVROOT/usr/bin/gcc"

export CXX="$DEVROOT/usr/bin/g++"

export LD="$DEVROOT/usr/bin/ld"

export STRIP="$DEVROOT/usr/bin/strip"

export LIBRARY_PATH="$SDKROOT/usr/lib"

export CPPFLAGS=""

#export CFLAGS="-arch armv7 -fmessage-length=0 -pipe -fpascal-strings -miphoneos-version-min=4.0 -isysroot=$SDKROOT -I$SDKROOT/usr/include -I$SDKROOT/usr/include/c++/4.2.1/"

export CFLAGS="-arch ${ARCHITECTURE} -fmessage-length=0 -pipe -fpascal-strings -miphoneos-version-min=4.0 -isysroot=$SDKROOT -I$SDKROOT/usr/include -I$SDKROOT/usr/include/c++/4.2.1/"

export CXXFLAGS="$CFLAGS"

#export LDFLAGS="-isysroot='$SDKROOT' -L$SDKROOT/usr/lib/system -L$SDKROOT/usr/lib/"

export LDFLAGS="-arch ${ARCHITECTURE} -isysroot='$SDKROOT' -L$SDKROOT/usr/lib/system -L$SDKROOT/usr/lib/"

./configure --host=${ARCH} --with-protoc=protoc --enable-static --disable-shared

}

mkdir ios-build

#build for iPhoneSimulator

configure_for_platform iPhoneSimulator

make clean

make

cp src/.libs/libprotobuf-lite.a ios-build/libprotobuf-lite-i386.a

#提取完整版本(i386)

cp src/.libs/libprotobuf.a ios-build/libprotobuf-i386.a

#build for iPhoneOS armv7

configure_for_platform iPhoneOS armv7

make clean

make

cp src/.libs/libprotobuf-lite.a ios-build/libprotobuf-lite-armv7.a

#提取完整版本(armv7)

cp src/.libs/libprotobuf.a ios-build/libprotobuf-armv7.a

#build for iPhoneOS armv7s

configure_for_platform iPhoneOS armv7s

make clean

make

cp src/.libs/libprotobuf-lite.a ios-build/libprotobuf-lite-armv7s.a

#提取完整版本(armv7s)

cp src/.libs/libprotobuf.a ios-build/libprotobuf-armv7s.a

make clean

#cerate a fat library containing all achitectures in libprotobuf-lite.a

xcrun -sdk iphoneos lipo -arch armv7 ios-build/libprotobuf-lite-armv7.a -arch armv7s ios-build/libprotobuf-lite-armv7s.a -arch i386 ios-build/libprotobuf-lite-i386.a -create -output ios-build/libprotobuf-lite.a

#合并三個(gè)完整版本(libprotobuf.a)

xcrun -sdk iphoneos lipo -arch armv7 ios-build/libprotobuf-armv7.a -arch armv7s ios-build/libprotobuf-armv7s.a -arch i386 ios-build/libprotobuf-i386.a -create -output ios-build/libprotobuf.a

2)將打包生成的libprotobuf-lite.a和libprotobuf.a復(fù)制至工程下進(jìn)行編譯,可以編譯protobuf在xcode上的模擬器版本和真機(jī)版本,完成交叉編譯。

分享標(biāo)題:如何實(shí)現(xiàn)protobuf在XCODE上armv7/armv7s/i386的交叉編譯
文章分享:http://aaarwkj.com/article20/jjgico.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站排名微信公眾號(hào)商城網(wǎng)站、App開發(fā)面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)
国产成人综合久久三区北岛玲| 天天色天天色天天色综合网| 亚洲中文字幕高清乱码毛片| 91久久精品91久久性色| 亚洲天堂日韩欧美在线一区| 新午夜福利片在线观看| 日本伦理三级在线观看| 麻豆精品新av中文字幕| 丰满多毛熟妇的大阴户| 久久96国产精品久久秘臀| 国产熟女真实乱精品视频| 国产精品日韩欧美久久久| 女同毛片一区二区三区| 七十二式性日韩视频| 亚洲熟妇av一区二区三区| 欧美日韩国产看片一区二区| 亚洲欧美日韩在线第三页| 日本一级黄色影视大全| 免费看国产一级黄色大片| 国产精品一区波多野结衣| 欧美日韩久久免费观看| 成人黄色动作片在线观看| 思思久久96热在精品国产| 久久一区二区三区播放| 五月婷婷六月丁香在线观看| 91国产精品视频在线| 久久精品国产亚洲av清纯| 抱着操才爽的免费视频观看| 2021最新四虎永久免费| 中日韩中文字幕一区二区| 日本 影院 一区 二区| 尤物视频在线观看官网| 日韩国产人妻一区二区| 在线观看高清免费国产| 中国的性生活黄片免费观看 | 免费国产网站在线观看不卡| 日本精品视频免费网| 日韩精品中文字幕国产精品| 久久青青草原一区二区| 后入视频国产在线观看| 日韩高清精品一区二区|