1

OCUnitを使用してテストを実行するプロジェクトをビルドしようとしていますが、リンクすると次のエラーが発生します。

ld: warning: in /Developer/SDKs/MacOSX10.5.sdk/Library/Frameworks//SenTestingKit.framework/SenTestingKit, file is not of required architecture
Undefined symbols:
  "_STComposeString", referenced from:
      -[ReaderTest testEmptyFile] in ReaderTest.o
      -[ReaderTest testReadOneLine] in ReaderTest.o
      -[ReaderTest testReadOneLine] in ReaderTest.o

  "_OBJC_CLASS_$_SenTestCase", referenced from:
      _OBJC_CLASS_$_ReaderTest in ReaderTest.o
      _OBJC_CLASS_$_ActionUserInfoReaderTest in ActionUserInfoReaderTest.o
  "_OBJC_METACLASS_$_SenTestCase", referenced from:
      _OBJC_METACLASS_$_ReaderTest in ReaderTest.o
      _OBJC_METACLASS_$_ActionUserInfoReaderTest in ActionUserInfoReaderTest.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

以前は問題なくOCUnitを使用してビルドおよび実行できました。この問題は今週発生しましたが、どのような変更があったのかわかりません。XCodeをiPhoneSDK3.2.1に再インストールしてみましたが役に立ちませんでした。

/Library/Frameworks/SenTestingKit.framework/Versions/A/SenTestingKitで情報を取得すると、「種類:Unix実行可能ファイル(PowerPC)」が表示されます。これは、アーキテクチャx86_64用のIntelプラットフォームで構築しているため、問題が発生している理由を示している傾向があります。しかし、以前はどのように機能し、機能しなくなったのかわかりません...

ご協力いただきありがとうございます。

4

2 に答える 2

1

SenTestingKit の独自のコピーを作成したようですが、おそらくそれは間違ったアーキテクチャを持っています。/Users/alexandrebeaulieu/workspaces/Project/build/Debug/SenTestingKit.framework にあります。

共有ビルドの場所を使用する場合、Xcode は、システムにインストールされているフレームワークに対してビルドしたフレームワークを使用することを優先します。

于 2010-01-09T01:18:08.320 に答える
0

私はどこからともなく「一見」と同じ問題を抱えていました。しかし、解決策はクリーンアップとビルドだけであることがわかりました。

製品 > クリーン

于 2012-05-07T14:00:22.430 に答える