1

アーキテクチャ用に iOS 用のSofia-SIP ライブラリをコンパイルしようとしてarmv6いますarmv7が、問題が発生しています。以下は私がやっていることです。

export DEVROOT=/Applications/Xcode_4_6.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer    
export SDKROOT=$DEVROOT/SDKs/iPhoneOS6.1.sdk    
export CC=$SDKROOT/usr/bin/llvm-gcc-4.2    
export CFLAGS="-pipe -no-cpp-precomp -isysroot $SDKROOT -arch armv7"    
export LDFLAGS="-syslibroot $SDKROOT -arch armv7"    
export CPP=$SDKROOT/usr/bin/llvm-g++-4.2./configure --host=arm-apple-darwin10    
sudo ./configure --host=arm-apple-darwin10

結果

Password:    
configure: WARNING: if you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used    
checking build system type... x86_64-apple-darwin12.5.0    
checking host system type... arm-apple-darwin10    
checking target system type... arm-apple-darwin10    
checking cached information... ok    
checking for a BSD-compatible install... /usr/bin/install -c    
checking whether build environment is sane... yes    
checking for gawk... gawk    
checking whether make sets $(MAKE)... yes    
checking for arm-apple-darwin10-strip... no    
checking for strip... strip    
checking whether to enable maintainer-specific portions of Makefiles... no    
checking for style of include used by make... GNU    
checking for arm-apple-darwin10-gcc... no    
checking for gcc... gcc    
checking for arm-apple-darwin10-gcc... gcc    
checking whether the C compiler works... yes

問題

llvm-gccスクリプトでコンパイラを使用したい。しかし、代わりに、arm-apple-darwin10-gcc見つからなかったものを探し、最終的にgccコンパイラーを使用することになります。

4

2 に答える 2

3
于 2015-10-19T17:20:36.920 に答える
2

llvm-gcc推奨されないことに注意してください。clang代わりに使用する必要があります:

% ls -l /usr/bin/llvm-gcc
lrwxr-xr-x  1 root  wheel  5 Nov  8  2013 /usr/bin/llvm-gcc@ -> clang

以下は私のために働くようです:

export DEVROOT="$(xcrun --sdk iphoneos --show-sdk-platform-path)/Developer"
export SDKROOT="$(xcrun --sdk iphoneos --show-sdk-path)"

export CC="/usr/bin/clang"
export CXX="/usr/bin/clang++"

export LD="${DEVROOT}/usr/bin/ld"
export AR="${DEVROOT}/usr/bin/ar"
export AS="${DEVROOT}/usr/bin/as"
export NM="${DEVROOT}/usr/bin/nm"
export RANLIB="${DEVROOT}/usr/bin/ranlib"
export LDFLAGS="-L${SDKROOT}/usr/lib/"

export ARM_ARCH="armv7"  # or "armv6" and adjust the --host=[...] flag below
export CFLAGS="-arch ${ARM_ARCH} -pipe -no-cpp-precomp -isysroot ${SDKROOT} -I${SDKROOT}/usr/include/"

export CPPFLAGS="${CFLAGS}"
export CXXFLAGS="${CFLAGS}"

構成、設定:

./configure --host=armv7-apple-darwin

建てる:

make

確認:

file `find . -name \*dylib`

出力:

./libsofia-sip-ua/.libs/libsofia-sip-ua.0.dylib:                                                       Mach-O dynamically linked shared library arm
./libsofia-sip-ua/.libs/libsofia-sip-ua.0.dylib.dSYM/Contents/Resources/DWARF/libsofia-sip-ua.0.dylib: Mach-O dSYM companion file arm
./libsofia-sip-ua/.libs/libsofia-sip-ua.dylib:                                                         Mach-O dynamically linked shared library arm

クレジット:

ノート:

  • -miphoneos-version-min=[...]あなたの質問に関連しているとは思わなかったので、他の質問からフラグを落としました。に戻すかどうかはあなた次第ですCFLAGS
于 2014-05-26T01:38:51.650 に答える