77

Xcode 4.3のpdfキットを使用してpdfを読み取るアプリケーションを実行しようとしていますが、次のエラーが発生します

ld: duplicate symbol _OBJC_METACLASS_$_OverlayManager in /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-D0866CFD31A05E68.o and /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-B31AE7412100AF6D.o for architecture i386
Command /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

助けてください??

4

22 に答える 22

95

プロジェクト設定>[ターゲット]で、プロジェクトを選択>[ビルドフェーズ]>[ソースのコンパイル]と[バンドルリソースのコピー]を開きます。赤色で表示されているファイルがあるかどうかを確認します。もしそうなら、それを削除してください。次に、クリーンアップして実行します。

私のために働いた。

于 2013-09-20T12:16:48.297 に答える
36

きれいにしてください。 product > clean。ターミナルのパージと再起動は機能しませんでしたが、クリーニングは機能しました。

于 2013-05-17T01:19:01.763 に答える
14

私はこれと同じエラーを抱えていましたが、StackOverflowで実際に機能する答えを持っている人はいないようです。私の問題は、チームリポジトリにあるプロジェクトをコピーしようとしたときでした。無視ファイルでは、拡張子がのすべてのファイルが*.pchリポジトリコミットから無視されたことがわかりました。これは、リポジトリからプロジェクトをプルしようとしたときに.pchファイルが見つからなかったため、このエラーがスローされたことを意味します。

幸い、プロジェクトのコピーがまだ残っていて、.pchファイルをコピーするだけで、問題なくコンパイルできました。

お役に立てれば?

于 2012-10-29T21:20:14.223 に答える
5

ターゲット設定の[概要]タブに移動し、[展開ターゲット]を見つけて増やします。

于 2013-05-27T18:23:25.787 に答える
3

削除すること~/Library/Developer/Xcode/DerivedDataは私を助けました。

参照:リンク

于 2016-05-11T04:15:33.917 に答える
2

私もこの問題に直面しています。そして、常識を使用してエラーメッセージを確認する代わりに、SOでヘルプを探しました。

エラーメッセージの最後の部分はあなたと同じでした。

Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 11

しかし、私が見つけた上記の数行:

In file included from /Users/Ricardo/Documents/XCode/RealEstate-Finder-v1.2/RealEstateFinder/RealEstateFinder/RealEstateFinder-Prefix.pch:26:
/Users/Ricardo/Documents/XCode/RealEstate-Finder-v1.2/RealEstateFinder/RealEstateFinder/Config/Config.h:174:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
http://www.myserver.com/apps/mobile/rest.php?id=12

これは私のConfig.hファイルを指しています。

ハッピーコーディング!

于 2015-03-19T15:43:08.237 に答える
1

実際のOverlayManagerクラス自体の中に.hファイルの代わりに.mファイルOverlayManagerを誤って含めてしまいました!基本的に、コンパイラは.mファイルをコンパイルすることをすでに知っていますが、#importすると、コンパイラは同じソースファイルにインラインでインクルードしようとするため、重複するシンボルが生成されます。しかし、実際のクラスの.mファイルの.mを#importしているので、あなたのケースはユニークです!OverlayManagerクラスを再帰的にコンパイルします。

于 2012-04-29T16:14:32.210 に答える
1

同じことが私にも起こりました、そして私は私が最後に「を置くのを忘れたのを見つけました

#import "CPDConstants.h

代わりに

#import "CPDConstants.h"
于 2013-07-21T20:20:12.387 に答える
1

私の場合、このエラーは、リポジトリからプロジェクトのクローンを作成した後に表示されます。誰かがプロジェクト名から空白を削除し(名前を「TheProject」から「TheProject」に変更)Build Settings、無効なパスにエラーが発生しました。

エラーログ全体を読み取ることは悪い考えではない場合があります。

于 2014-10-20T11:03:19.630 に答える
1

これを試してください-Xcodeの左側(リストの一番上)にあるファイル/フォルダーのリストでプロジェクトの名前をクリックします。右側のウィンドウの左側にある「ターゲット」セクションを見てください。おそらく、2つがリストされており、2つ目は「テスト」アイテムです。そのアイテムを右クリックして、「削除」を選択します。次に、プロジェクトを再実行してみてください。

于 2015-08-25T08:34:15.557 に答える
1

この問題は通常、Ex用に異なるSwiftバージョンが組み込まれているXCodeのバージョンが3つ以上インストールされている場合に発生します。Swift1.2およびSwift2.0を実行しているXCode6.4およびXCode7.3がインストールされています。誤って、Exのicorrectバージョンでコードをコンパイルしようとしました。プロジェクトをSwift1.2でインストールし、xcode7.3でコンパイルしようとします。この場合、ドライブデータにはSwiftバージョンの情報が格納されますが、正しいXCodeを使用してコードをコンパイルしようとすると、エラーが発生します。これを解決するには

  1. ドライブデータを削除
    します。Xcodeで設定を選択します

ここに画像の説明を入力してください

  1. 設定が開いたら、[場所]タブをクリックし、[ドリブンデータ]パスの前にある矢印をクリックします。ドライブデータフォルダを開きます

ここに画像の説明を入力してください

  1. Xcodeを終了します
  2. すべてのドライブデータを削除します。
  3. 正しいXCodeエラーでプロジェクトを再度開くと修正されました!!!!!!
于 2016-08-09T11:05:53.533 に答える
0

ここで考慮すべきことは、*。pchファイルです。外部ライブラリからインクルードを実行している場合は、#ifdefOBJCの後および#endifの前にインクルードを実行していることを確認する必要があります。この条件の外でインクルードを実行しようとすると、これがコンパイラエラーの原因である可能性があります。

于 2013-04-28T17:27:41.237 に答える
0

これは、gitを使用しているチームで発生しましたか?チームメンバーの1人が外部ソースからクラスを追加しましたが、それをリポジトリディレクトリにコピーしませんでした。ローカルバージョンは正常にコンパイルされましたが、継続的インテグレーションはこのエラーで失敗しました。

ファイルを再インポートし、バージョン管理下のディレクトリに追加すると修正されました。

于 2014-02-10T23:51:01.530 に答える
0

私もこのエラーがありました。しかし、私の場合、私はここで1人になると確信していますが、iPhoneシミュレーターでアプリがクラッシュした後、削除キーを押したときに誤ってmain.mを削除してしまいました。

クラッシュ後、Xcodeはmain.mファイルを表示し、削除を押したときに、プロジェクトからmain.mファイルを誤って削除しました。これは、詳細なコードではなく、ファイル名が強調表示されている場合に簡単に実行できるためです。見る。

Main.mは通常、プロジェクトファイルマネージャーのsupportingfilesという名前のグループまたはフォルダーにあります。次回のビルドと実行に失敗するまで、これが発生したことに気づかなかったので、エラーメッセージをさらに詳しく読み直して、main.mが欠落していることを確認する必要がありました。

ご入力いただきありがとうございますが、私の立場に誰かがいる場合に備えて、不足しているファイルを示す赤いファイル名を確認し、ある場合はバックアップから復元してください。

于 2014-06-12T06:15:45.587 に答える
0

不足しているファイル(Xcode-> target-> Build Phases->コンパイル済みソースの赤い色のファイル)をターゲットフォルダーに追加すると、問題が解決しました。

于 2014-09-01T06:59:38.700 に答える
0

私の問題は、[ビルドフェーズ]-> [ソースのコンパイル]で、ファイルにコンパイラフラグを追加しましたが、スペルを間違えていました。それは次のようになっているはずです:

-fno-obj-arc

このファイルがARCを使用していないことを示します。

于 2014-09-10T14:37:04.873 に答える
0

プロジェクトからいくつかのファイルを削除した後、同じエラーが発生しました。gitリポジトリで削除をコミットした後、このエラーはなくなりました...

于 2014-12-25T12:31:00.113 に答える
0

Xcode 8

@Spoekの答えは正しいです、

ただし、赤い色のファイルが見つからない場合は、不透明度の低いファイルを見つけてください。

この画像を見て、

ここに画像の説明を入力してください

最初のものはそこにありますが、2番目のものはそこにメモがあるのでそれを削除します。

于 2016-10-18T17:14:24.717 に答える
0

私の場合、私はそれを次のように修正します:

ビルドフェーズに移動し、ソースファイルのコンパイルを確認し、ファイルが重複していないかどうかを確認します。ファイルは1つだけ保持します。

于 2017-01-03T11:23:25.297 に答える
0

私の場合、それはSwift Flagターゲットのビルド設定>その他のSwiftフラグ内の重複エントリでした。2つの-Xfrontendエントリがありました。

于 2018-06-21T22:31:15.397 に答える
0

私の場合、

ビルドフェーズ->ソースファイルのコンパイルをチェック->xcodeが「「xxx.swift」が見つかりません」と表示するxxx.swiftファイルを削除します

于 2020-01-20T06:25:46.777 に答える
-1

これは私に起こりました、そしてそれを見つけるのに私は1時間かかりました。私の場合、入力が速すぎて次のようになりました。

[seld method];

それ以外の:

[self method];

真剣に!なぜそれがもっと認識できる方法でこれを捕らえなかったのか分かりません。しかし、もちろんそれは「seld」と呼ばれるクラスを探していました。

于 2013-07-29T00:32:07.957 に答える