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

如何實(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è)
熟妇激情欧美在线播放视频| 好狼色欧美激情国产区| 在线免费观看视频97| 青青草免费视频观看在线| 黄色片在线观看中文字幕| 国产一区二区三区不卡av| 日本一区二区欧美亚洲国产| 亚洲国产日韩欧美视频二区| 亚洲欧美午夜激情啪啪视频| 中文字幕人妻熟女在线| 国产精品亚洲精品欧美| 四虎精品视频在线播放| 国产亚洲精品免费视频| 久久五十路初次拍五十路| 免费可以看的黄片欧美| 日本不卡二区高清三区| 亚州精品乱码久久电影| 日本一区二区三区精彩视频| 久久国产精品乱码电影| 91在线免费观看国产精品| 欧美日韩亚洲精品综合网 | 婷婷激情综合亚洲五月色| 国产精品久久久毛片av| 97国产精品成人免费视频| 国产一级黄色免费大片| 亚洲精品成人综合色在线| 色婷婷亚洲婷婷亚洲最大| 成人夜间视频在线观看| 中文字幕一区二区三区精彩视频| 亚洲综合色视频免费在线播放| 亚洲日本va午夜中文字幕一区| 日韩欧美一区二区黄色| 亚洲精品成人免费电影| 国产视频不卡一区二区| 亚洲欧美日韩精品av| 日本一区二区三区在线观看视频 | 男女啪啪国产精品视频| 97人妻人人澡人人爽| 中国一区二区三区毛片| 免费在线av一区二区| 亚洲国产丁香综合激情啪|