コンパイル警告:アーキテクチャi386のファイルを処理するルールはありません


245

この警告を解決するにはどうすればよいですか?

[警告]警告:アーキテクチャi386のタイプsourcecode.objj.hのファイル '$(PROJECT_DIR)/MyApp/MessageCell.h'を処理するルールがありません


また、Objective-Jからsourcecode.objj.hとしてヘッダーファイルをコンパイルしようとしているとも言われています(ヘッダーに.hファイルも使用しています)、Cappuccinoをインストールしていますか?
themarketka '10

回答:


576

プロジェクトをクリックし、このファイルが[ビルドフェーズ]タブに存在しないことを確認します。通常、ヘッダーファイルはここに置かないでください。それをきれいにしてもう一度ビルドしてください、それはうまくいくはずです!


1
そこにいくつかのヘッダーファイルがあります。好奇心旺盛ですが、なぜヘッダーが存在しないのですか?
シーハンアラム

30
これは、コンパイルされるソースファイルのリストであり、通常は<file> .h内にすでに<file> .hが含まれているため
Giuseppe

1
新しいクラスを作成するたびに、XCodeは自動的にヘッダーファイルをビルドフェーズに追加します。なぜなのか、誰にもわかりません。現在、新しいクラスを作成するたびに、ビルドフェーズからヘッダーファイルを手動で削除する必要があります。
Bocaxica

1
.mファイルの名前が(誤って)異なるため、.hファイルが(想定されていないときに)ビルドフェーズに表示される可能性があることを付け加えます。
アリ

これは完全に理にかなっています...私は元々.cppとしてファイルを作成し、次に.hに名前を変更しました
ddavison


17

いくつか- :私たちは、単に以下の手順に従って、この問題を解決することができ.md.mdown .hファイルが含まれソースをコンパイル
手順1)[プロジェクトナビゲータ
プロジェクトの選択ステップ2)
)ステップ3をごtargetStepの選択
ステップ4)をビルドPhasesStepの選択
ステップ5)を移動コンパイラがコンパイルソースからバンドルリソースコピーするために処理したくないファイル

これをチェックして


3

ココアポッドからこの警告が表示された場合は、s.source_filesで正しく設定されていることを確認する必要があり.podspecます。

たとえば、最初にこの行を含むすべてのファイルを .podspec

s.source_files = "MyUIElements/**/*"

ポッドにある一部のフォントファイルに対して、このコンパイル警告が表示されました。あなたはに表示するファイルを制御BuildPhases- > CompileSourcesこのようなポッド消費に:

s.source_files = "MyUIElements/**/*.swift", "MyUIElements/**/*.h"

1
またはs.source_files = "Sources**/*.{h,m,swift}"
hstdt 2017年

0

私の問題のwas'tのヘッダファイルは、下のためにTarget> Build Phases> Compile Resourcesどんな存在しなかった.h filesで開始します。システムは他のいくつかのファイルについて不平を言っていました。私はこのリンクをたどりましたが基本的にはシステムが不満を言っているファイルを削除すると言っていましたが、代わりにcntrl +でそれらをにドラッグしましたCopy Bundle Resources

ファイルを検索する最も簡単な方法は、右上隅のフィルターを使用することです。

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

リンクからの指示は次のとおりです。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.