問題タブ [libtool-xcode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - Libtool: 次のファイルが見つかりません: -lPods-RCTMapboxGL
React Native プロジェクトのリンク段階で問題があります。ライブラリlibRCTMapboxGL.a
がこの問題を引き起こしています。
エラー: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: ファイルが見つかりません: -lPods-RCTMapboxGL
エラー: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: ファイル: -lPods-RCTMapboxGL はオブジェクト ファイルではありません (ライブラリでは許可されていません)
のエラーのため、ファイルlibRCTMapboxGL.a
は で作成されていません。ただし、ファイルは存在するようです:/Users/user/Developer/RNProject/ios/build/Build/Products/Debug-iphonesimulator/
-lPods-RCTMapboxGL
/Users/user/Developer/RNProject/node_modules/react-native-mapbox-gl/ios/Pods/Target Support Files/Pods-RCTMapboxGL/Pods-RCTMapboxGL.debug.xcconfig
/Users/user/Developer/RNProject/node_modules/react-native-mapbox-gl/ios/Pods/Target Support Files/Pods-RCTMapboxGL/Pods-RCTMapboxGL.release.xcconfig
Pods-RCTMapboxGL はオブジェクト ファイルではなく、エラー メッセージで奇妙に見えます。ファイルの内容は次のとおりです。
セットアップはこのチュートリアルに従って行われました。最初に CocoaPods を使用し、次にすべての設定とファイルが適切に配置されているかどうかを手動で確認しました。
完全なエラー ログ:
ios - PJSIP の動的ライブラリを作成できません
PJSIP をファットな静的ライブラリにコンパイルするスクリプトがあります。しかし、swift のみのプロジェクト内で使用できるように、動的ライブラリを作成したいと考えています。
2016 年 9 月 9 日更新:
「--enable-shared」オプションを指定して PJSIP をコンパイルすると、ほとんどのライブラリが正しくビルドされます。ただし、一部のライブラリは間違ったアーキテクチャ用にコンパイルされています。この場合は、arm64 ではなく x86_64 です。
これらは正しいですが:
構築を開始するとき:
すべて正しく完了しますが、
次の警告が生成されます。
そして、次のような多くの警告が表示されます:
と:
一部のライブラリが正しいアーキテクチャ用にコンパイルされ、一部がコンパイルされていない理由は何ですか? どうすればこれを修正できますか?
背景情報として、configure-iphone によって出力される環境変数:
configure-iphone: 環境変数で ./aconfigure を呼び出す:
初期プロセス:
これまでのプロセスは次のとおりです。
- PJSIP bash スクリプトを使用して、1 つのアーキテクチャ用のファット スタティック ライブラリを作成します。
- lipo と ar を使用して、すべてを個別の o ファイルに抽出します
- libtool で動的ライブラリを作成しようとしています。
しかし、他のフレームワークへのリンクには問題があります (私たちが知る限り)。これは事実ですか、それとも他に何か間違ったことをしていますか?
これはステップ 3 の詳細です。
1 つのフォルダに 1 つのアーキテクチャのすべてのファイルがあります。次に、次の libtool コマンドを実行します。
コマンド実行後の出力の開始:
macos - osx 用に 32 ビットの動的ライブラリを 64 ビットに変換
Mac プラットフォーム用に既存の動的ライブラリを 64 ビット互換にコンパイルする方法。ライブラリのコード ベースがなく、xxx.dylib しかありません。
ファイル xxx.dylib
xxx.dylib: 2 つのアーキテクチャを持つ Mach-O ユニバーサル バイナリ: [ppc:Mach-O 動的にリンクされた共有ライブラリ ppc] [i386:Mach-O 動的にリンクされた共有ライブラリ i386] xxx.dylib (アーキテクチャ ppc 用): Mach-O 動的にリンクされた共有ライブラリ ppc xxx.dylib (アーキテクチャ i386 用): Mach-O 動的にリンクされた共有ライブラリ i386