3

iOS プロジェクトで Boost 1.54.0 のファット ファイルを使用しようとしています。lipo -detailed_infoコマンドからの結果ファイルに関する情報は次のとおりです。

Fat header in: boost.framework/boost
fat_magic 0xcafebabe
nfat_arch 5
architecture armv7
    cputype CPU_TYPE_ARM
    cpusubtype CPU_SUBTYPE_ARM_V7
    offset 108
    size 2963176
    align 2^2 (4)
architecture armv7s
    cputype CPU_TYPE_ARM
    cpusubtype CPU_SUBTYPE_ARM_V7S
    offset 2963284
    size 3079048
    align 2^2 (4)
architecture i386
    cputype CPU_TYPE_I386
    cpusubtype CPU_SUBTYPE_I386_ALL
    offset 8916872
    size 2830880
    align 2^2 (4)
architecture x86_64
    cputype CPU_TYPE_X86_64
    cpusubtype CPU_SUBTYPE_X86_64_ALL
    offset 11747752
    size 3015296
    align 2^2 (4)
architecture arm64
    cputype CPU_TYPE_ARM64
    cpusubtype CPU_SUBTYPE_ARM64_ALL
    offset 6042332
    size 2874540
    align 2^2 (4)

実際のデバイス (iPad Mini Retina、arm64 ) 用にビルドしようとすると、リンク エラーが発生します。

ld: archive has no table of contents file 'boost.framework/boost' for architecture arm64

エラーなしでarmv7シミュレーター用にビルドできました。エラーの原因は何ですか?

4

2 に答える 2

5

私は同じ問題を抱えていて、このように修正しました:

ranlib yourlibrary.a
于 2014-08-02T11:48:03.903 に答える
0

自分の答えを更新してください:

Hyndrixの答えは私の日を救った!!!!!!

彼の答えを読んだ後、私は使ってみました

ranlib src/boost-xcode5-iosx/ios//build/arm64/libboost.a

しかし、うまくいきません。

だから私は試しました rablib src/boost-xcode5-iosx/ios/framework/boost.framework/boost

次のようなログをいくつか取得しました。 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: armv7 file: /Users/src/boost-xcode5-iosx/ios/framework/boost.framework/boost(libboost_serialization_stl_port.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: armv7s file: /Users/src/boost-xcode5-iosx/ios/framework/boost.framework/boost(libboost_serialization_stl_port.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: i386 file: /Users/src/boost-xcode5-iosx/ios/framework/boost.framework/boost(libboost_serialization_stl_port.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: for architecture: x86_64 file: /Users/src/boost-xcode5-iosx/ios/framework/boost.framework/boost(libboost_serialization_stl_port.o) has no symbols

しかし、その後、Xcode プロジェクトを再構築し、最終的に iOS デバイスで動作するようになりました。

どうもありがとうございました。私はあなたに賛成票を投じました。

ジョン、彼の答えを正しいものとしてマークしてください。

実機以外のタイプ「iOS Device」向けにビルドしようとしているからだと思います。

実際のデバイスまたはシミュレータを選択すると問題なく動作します。

しかし、「iOS デバイス」を選択すると、まったく同じエラー メッセージが表示されます。

これがあなたを助けることを願っています。

ここに画像の説明を入力

于 2014-07-04T01:21:21.123 に答える