1

CocoaPods を使用して tumblr sdk を c4 プロジェクトにインストールしています。c4workspace にコードを追加しないと、次のエラーが発生します。

Ld /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Products/Debug-iphonesimulator/test1.app/test1 normal i386
    cd /Users/me/Documents/TradeCity/test1
    setenv IPHONEOS_DEPLOYMENT_TARGET 6.0
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -L/Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Products/Debug-iphonesimulator -L/Users/me/Documents/TradeCity/test1/test1/Library -F/Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Products/Debug-iphonesimulator -filelist /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Intermediates/test1.build/Debug-iphonesimulator/test1.build/Objects-normal/i386/test1.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework Foundation -weak_framework UIKit -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.0 -framework Accelerate -framework AVFoundation -framework CoreFoundation -framework CoreGraphics -framework CoreImage -framework CoreMedia -framework CoreText -framework Foundation -framework OpenGLES -framework QuartzCore -framework UIKit -lC4 -lPods -o /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Products/Debug-iphonesimulator/test1.app/test1

duplicate symbol _OBJC_METACLASS_$_C4WorkSpace in:
    /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Intermediates/test1.build/Debug-iphonesimulator/test1.build/Objects-normal/i386/C4WorkSpace.o
    /Users/me/Documents/TradeCity/test1/test1/Library/libC4.a(C4WorkSpace.o)
duplicate symbol _OBJC_CLASS_$_C4WorkSpace in:
    /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Intermediates/test1.build/Debug-iphonesimulator/test1.build/Objects-normal/i386/C4WorkSpace.o
    /Users/me/Documents/TradeCity/test1/test1/Library/libC4.a(C4WorkSpace.o)
duplicate symbol _OBJC_IVAR_$_C4AppDelegate._window in:
    /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Intermediates/test1.build/Debug-iphonesimulator/test1.build/Objects-normal/i386/C4AppDelegate.o
    /Users/me/Documents/TradeCity/test1/test1/Library/libC4.a(C4AppDelegate.o)
duplicate symbol _OBJC_IVAR_$_C4AppDelegate._workspace in:
    /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Intermediates/test1.build/Debug-iphonesimulator/test1.build/Objects-normal/i386/C4AppDelegate.o
    /Users/me/Documents/TradeCity/test1/test1/Library/libC4.a(C4AppDelegate.o)
duplicate symbol _OBJC_METACLASS_$_C4AppDelegate in:
    /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Intermediates/test1.build/Debug-iphonesimulator/test1.build/Objects-normal/i386/C4AppDelegate.o
    /Users/me/Documents/TradeCity/test1/test1/Library/libC4.a(C4AppDelegate.o)
duplicate symbol _OBJC_CLASS_$_C4AppDelegate in:
    /Users/me/Library/Developer/Xcode/DerivedData/test1-ccqtiznytmfywgdvbkcvvdlombrb/Build/Intermediates/test1.build/Debug-iphonesimulator/test1.build/Objects-normal/i386/C4AppDelegate.o
    /Users/me/Documents/TradeCity/test1/test1/Library/libC4.a(C4AppDelegate.o)
ld: 6 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

アーキテクチャ i386 の 6 つの重複シンボル

私は別の質問をチェックアウトしましたが、答えた人は、同じ名前の2つのグローバル変数を持つことと関係があると言いました(リンクを編集してすぐに投稿します)?

XCode 4.5.2 と OSX 10.7.5 を使用しています

tumblrsdk サンプル プロジェクトを使用しようとしても (cocoapods を使用してインポートした後)、このエラーは発生せず、tumblrsdk をインポートせずに c4 でプロジェクトをビルドしても発生しません。

4

1 に答える 1

2

この問題を 3 つの異なるシナリオでテストしました。

まず、C4 シングルビュー テンプレートを使用して新しいプロジェクトを作成しました。私はこれをしました:

  • Xcode 4.6.3、古いインストーラー、コンパイル済みの lib
  • Xcode 5、新しいインストーラー、raw ファイル
  • Xcode 5、新しいインストーラー、プリコンパイル済みライブラリ

3つすべてで、ターミナルから次のことを行います(コンプにココアポッドをインストールした後):

  1. プロジェクトのトップ ディレクトリに移動します。
  2. $ポッド初期化
  3. エディタでpodファイルを開く
  4. コメントを外して設定: platform :ios, "6.1"
  5. ターゲットに追加: pod 'TMTumblrSDK'
  6. ターミナルに戻って実行します: pod install
  7. プロジェクトの新しく作成されたワークスペースを開く
  8. ビルド + 実行

Xcode 5 プロジェクト (.lib と raw ファイルの両方) の場合、プロジェクトはコンパイルされ、いくつかのマイナーな警告のみで実行されました (コンパイラ設定に厳しい制限があるため、CocoaPods 側で)。

Xcode 4.6.3 プロジェクトについて、あなたが受け取ったのと同じ警告を受け取りました。

残念ながら、4.6.3 プロジェクト テンプレートはサポートされなくなりました。Xcode 5 と新しいインストーラーを手に入れることができれば、これでうまくいくでしょう。

于 2013-10-08T21:55:50.657 に答える