Xcodebuildでビルドするときに問題が発生しました。私のプロジェクト/アプリはXcode-guiでうまくビルドします。それは単に、ビルドプロセスの一部であるlibcryptoppライブラリの検索/ビルドではありません。
エラーは:
clang: error: no such file or directory: '/Users/builder/repo/ioskpay/xcode-cryptopp/cryptopp/build/Release-iphoneos/libcryptopp.a'
この特定のファイルは、メインアプリ内の別のプロジェクトから派生する必要があります。xcodebuildは、次のような正しいファイルフォルダーを正しく指していません。
~/Library/Developer/Xcode/DerivedData
何か案は?
これを修正するには、プロジェクト設定に移動し、Targets
に移動して、メインプロジェクトターゲットを選択します。次にBuild phases
にアクセスします。 Target dependencies
の下に、静的ライブラリプロジェクトを追加します。
このようにして、メインプロジェクトをコンパイルすると、静的ライブラリサブプロジェクトがメインプロジェクトの前にコンパイルされ、静的ライブラリが使用可能になります。
同じ問題がありましたが、リソースファイル.m
ターゲットを開いた->ビルドフェーズ->ソースをコンパイル
そして、コンパイラーが重複を見つけることができないと言われたファイルを見つけました:奇妙なアイコンを持つものと通常のアイコンを持つもの。私は奇妙なアイコンのあるものを単に削除し、それはうまくいきました。 (ファイルを複数回追加しましたが、その前にマージの競合が発生し、プロジェクトファイルで問題が発生しました)
あなたの場合、ターゲットの依存関係リストからlibを削除して、もう一度追加する必要があると思います。これはあなたのために働くかもしれません。
Xcodeバージョン9.2(9C40b)では、これはプロジェクトに大量のファイルをドラッグしたときに発生し、その一部は重複していた。単に重複を追加するのではなく、パスではなく名前だけを再度追加しました。
Target
> Build Phases
> Compile Sources
重複はそれぞれ、「...」が付いていない状態で表示されました。それぞれがclangエラーの原因でした。
Xcodeが収集したすべての重複を削除した後、プロジェクトをコンパイルして実行しました。
Finderでソースファイルを管理する代わりに、プロジェクトナビゲーターを使用できます。その場合、Project Navigatorは、適切なファイル管理システム(ahem Finder)のように重複を置き換えることができません。 ????
私にとっては、パッケージまたはポッドを削除したためです。私は走ったpod install
とそれを修正しました
Xcodeが奇妙な動作をする場合があります。ビルドフェーズの「Link Binary With Libraries」の下にある「filename.a」などの静的ライブラリプロジェクトを見つけて削除し、再度追加する必要があります。
ターゲットをアーカイブしているときにも同じ問題が発生しました。ライブラリを削除し、ビルドは成功しました。
では、正しい-target -configurationパラメータと-schemeパラメータを追加するだけで、これを正しく実行できます。しかし、自動ビルドの目的でこれをJenkinsで実行しているため、希望どおりに機能しません-まったく同じ場所で動かなくなります。この問題を抱えていない別のジョブでまったく同じコードをビルドしているので、それは奇妙です。現時点では、韻も理由もありません。私はそれで輪ゴムを撃ち続けて、答えがあれば更新します...
Xcodeプロジェクトで欠落しているファイルを探します。つまり、ファイルが削除されているか、配置が間違っている可能性があります。
不足しているファイルをxcodeに追加すると、すべて正常に動作します。
私のxCode情報は:
Xcodeビルドプロジェクト(native Swift、flutter、react native、native script)で同様のエラーに直面し、clang compilarに関連するエラーメッセージが表示されました。次のようなエラー:
ネイティブアプリのDerivedDataに関連するエラーにもかかわらず、ディレクトリを削除し、最終的にはxCodeを再起動し、マシンを再起動することで修正できます...この場合、ディレクトリを削除して再度ビルドプロセスを開始すると、エラーが表示されます。戻ってくる。
次に、clang --version
を実行して、clangのインストールを確認します。通常の出力は次のようになります。
ご覧のとおり、InstalledDir
はxCodeでは正しくありません。私の場合、数日前にAnacondaアプリ(R、Pythonなど)をインストールする必要がありましたが、今、いくつかの依存関係をインストールする必要があり、それらの1つはclangであり、インストールが変更されたことを覚えています。この問題を修正するには(私の場合、アナコンダはもう必要ありません):(編集)
1.- anacondaとそのすべての依存関係を削除します(アプリクリーナーを使用することをお勧めします)。 2.- xCodeを再インストールします
XCodeを再インストールした後、もう一度clang --version
と入力すると、次のようになります。
詳細: https://github.com/flutter/flutter/issues/32457#issuecomment-496161092
うまくいけば、この情報は他の人を助けるでしょう。
ベスト
次のコマンドを実行します。
$ conda deactivate