アプリケーションをAdMobに配置した後、エラーが発生します。アプリは今日まで機能していました。エラーは次のとおりです。
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
どうすれば修正できますか?ありがとうございました。
アプリケーションをAdMobに配置した後、エラーが発生します。アプリは今日まで機能していました。エラーは次のとおりです。
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
どうすれば修正できますか?ありがとうございました。
回答:
場合によっては、ライブラリの参照を削除して、再度参照を追加するだけです。
Google Mobile Ads SDKやその他のライブラリを最初から追加し直す以外に、ライブラリ検索パスを確認することをお勧めします。ターゲットをコピーまたは複製する場合があります。Xcodeは、二重引用符を「\」でエスケープする必要があると判断します。すべての\を削除してください。
パスの前に複数の「\」を付けることで、エラーを再現できました。
同様の「ライブラリが見つかりません」という問題がありました。ただし、誤って.xcodeproj
ファイルの代わりにファイルを使用していたため.xcworkspace
です。
Cocoapodsに関連するエラーが次の場合:
library not found for -lPod-...
他のリンカーフラグを確認して、そこから削除する必要があります。
追加情報:ココアポッドを使用する古いプロジェクトがある場合。そして最近、use_frameworksを追加する必要がありました!あなたのポッドファイルに。cocoapodsはライブラリを他のリンカーフラグに追加しなくなり、継承されます。したがって、use_frameworksを使用する前に、追加された他のリンカーフラグからそれらを手動で削除する必要がある場合があります。
私の場合はXcode 7、Xcode 9.1でも動作しました
ld: library not found for -ldAfnetworking
clang: error: linker command failed with exit code 1 (use -v to see invocation)
セットBuild Active architecture Only
にYes
エラーが次のような場合
ld:-lpodsのライブラリが見つかりません
不足しているファイルのように赤い色のファイル「libPods.a」がプロジェクトのフレームワークグループに作成されていることがわかりました。私は単にそのファイルを削除しただけで、すべてがうまくいきました。
編集:別のソリューション
私が同様の質問ですでに回答した別の解決策はこのリンクにあります
goto Build Phases-> Binary with Librariesを削除し、ライブラリを削除します。このライブラリはプロジェクトフォルダで利用できないため、エラーが表示されます。
libPods-Foo BarTests.a
、もう1つはlibPods-FooBarTests.a
です。
私の場合、命名の問題がありました。私のライブラリはと呼ばれてios-admob-mm-adapter.a
いましたが、Xcodeは名前がプレフィックスlibで始まる必要があると予期していました。libの名前を変更してlibios-admob-mm-adapter.a
問題を修正しました。
Cocoapodsを使用しており、ターゲットのビルド設定でライブラリを他のリンカーフラグオプションにリンクしています。旗はこんな感じ-l"ios-admob-mm-adapter"
それが他の誰かを助けることを願って
これは少し古いことはわかっていますが、同様の問題が発生し、「ポッドアップデート」を実行すると、これが修正されました。ライブラリエラーはAFNetworkingで発生しました...
Podファイルで明示的なバージョンを使用しない場合は、Podの更新に注意してください。
私は私のビルド構成の名前を変更しようとしたRelease
のProduction
が、どうやらココアポッドはそれが好きではありません。私は再び名前をに変更しましたがRelease
、すべて正常にビルドされます。
@rauroraの答えは私を正しい方向に向けました。「watchkitapp Extension / lib」パスにライブラリを含めていました。この場合、ライブラリ検索パスは「\」でエスケープする必要がありましたが、リンカはこれを理解していなかったようです。この問題を修正/回避するには、libパスを1レベル上に移動して、名前にスペースが含まれているディレクトリには存在しないようにしました。
のStatic Library
原因はのコンパイル時エラーですStatic Linker
ld: library not found for -l<Library_name>
Library not found for
ライブラリパスを含めない場合、エラーが発生する可能性があります。Library Search Paths
ld
Static Linker
ライブラリの場所が見つからないことを意味します。開発者は、リンカーを支援して、Library Search Paths
Build Settings -> Search Paths -> Library Search Paths
また.xcodeproj
、Cocoapodsをサポートする新しいプロジェクト()を初めて開いた場合にも、このエラーが発生する可能性がありますpod update
。修正するには、このプロジェクトを閉じて、代わりにワークスペースを開いて作成します(.xcworkspace
)