15

私は静的ライブラリを構築してから、Xamarin でバインディング プロジェクトを作成しようとしています。iOS 7 がヒットするまで、すべてが正常に機能していました。ネイティブ ライブラリの最新バージョンを入手して XCode 5 でビルドする必要がありましたが、さまざまな問題が発生していました。ビルド プロセスまたは XCode 5 (vs. 4) で変更された設定に関連している可能性があると思いますが、よくわかりません

このスクリプトを使用して、この質問の作業に基づいたユニバーサル バイナリを構築していました。

Xcode と SDK を使用してファット スタティック ライブラリ (デバイス + シミュレータ) をビルドする 4+

以前、私のバイナリ (XCode 4 でビルド) の古い iOS 6.1 バージョンでは、私のバイナリは約 24 Mb でしたが、XCode 5 では約 50 Mb に膨れ上がりました! これにより、コンパイルとリンクのステップに問題があると思います。

何か案は?XCode 5 (vs 4) のユニバーサル バイナリで問題が発生した人はいますか?

4

2 に答える 2

23

ライブラリに以下のメイクファイルを使用していますが、XCode 5 と iOS7 SDK でも問題なく動作します。

XBUILD=/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild
PROJECT_ROOT=.
PROJECT=$(PROJECT_ROOT)/GIFLibFrontEnd.xcodeproj
TARGET=GIFLibFrontEnd

all: libUniversal.a

libi386.a:
    $(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphonesimulator -configuration Release clean build
    -mv $(PROJECT_ROOT)/build/Release-iphonesimulator/lib$(TARGET).a $@

libArmv7.a:
    $(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphoneos -arch armv7 -configuration Release clean build
    -mv $(PROJECT_ROOT)/build/Release-iphoneos/lib$(TARGET).a $@

libArmv7s.a:
    $(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphoneos -arch armv7s -configuration Release clean build
    -mv $(PROJECT_ROOT)/build/Release-iphoneos/lib$(TARGET).a $@

libArm64.a:
    $(XBUILD) -project $(PROJECT) -target $(TARGET) -sdk iphoneos -arch arm64 -configuration Release clean build
    -mv $(PROJECT_ROOT)/build/Release-iphoneos/lib$(TARGET).a $@

libUniversal.a: libi386.a libArmv7.a libArmv7s.a libArm64.a
    lipo -create -output lib$(TARGET)Universal.a $^

clean:
    -rm -f *.a *.dll
    -rm -rf build
于 2013-09-26T14:21:55.477 に答える