問題タブ [dyld]
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.
xcode - リンクされたフレームワークを削除した後の EXC_BAD_INSTRUCTION?
以前はアプリケーションで Growl フレームワークにリンクしていましたが、その後削除されました。プロジェクトから削除され、すべてのビルド フェーズから削除され、フレームワーク/含まれるクラスの使用がプロジェクトに存在しません。
問題は、起動時にスタックのEXC_BAD_INSTRUCTION
どこかを受け取ることです。dyld
フレームワークのすべてのインスタンスをプロジェクトから削除したと思っていましたが、まだライブラリを探しているのではないでしょうか? (そして見つからない?)
フレームワークの言及/使用についてプロジェクトをかなり包括的に検索し、複数のクリーンアップを実行しましたが、ライブラリの削除後に起動できないようです。
environment-variables - load コマンドを mach-o バイナリに追加
バイナリに LC_LOAD_DYLIB を追加することは可能ですか? DYLD_INSERT_LIBRARIES が使用されないように保護されているため、アプリに dylib をロードするには別のものが必要です
ios - IOSMach-Oバイナリからインポートされたメソッド名を推測する方法
逆アセンブラを使用してIOSバイナリ(Mach-O)ファイルを分析すると、リリースバイナリのCスタイルの関数呼び出しであっても、外部ライブラリの関数のメソッド名に注釈が付けられていることがわかります。Mach-Oファイル形式を読んでいますが、__ stub_helperエントリを関数名と一致させるのに問題があり、名前がバイナリ自体に格納されていないようです。
ありがとう!
objective-c - 挿入されたライブラリを読み込めませんでした:/usr/lib/libgenkit.dylib
ユニバーサルアプリをデバイス(iPad)で実行しようとしていますが、このリンカーエラーが発生します
ShareKit、sqlcipher、lexicontex、
誰もがアイデアを持っていますか?!! お願いしますそしてthnx
ipad - iOS:一部のiOS4デバイスで「シンボルが見つかりません」エラーが発生しましたが、すべてではありません
ユーザーのクラッシュログに次のメッセージが表示されます。
Dyldエラーメッセージ:シンボルが見つかりません:_OBJC_CLASS _ $ _ NSMetadataQuery
したがって、解決策は、Foundationフレームワークを「オプション」にする必要があることを理解しています。しかし、私にとって奇妙なのは、このクラッシュは一部のiOS4デバイスでのみ発生し、他のデバイスでは発生せず、4.3シミュレーターでもクラッシュしないことです。特にiPad(iOS4を実行している)でのみ発生しますが、それでも一部のiPadでのみ発生します。誰かがそれがなぜかもしれないのか説明できますか?
フレームワークのリンクに関するバグの場合、すべてのiOS4デバイス(または少なくともすべてのiPad)でクラッシュするはずですよね?
xcode - Apple のソースから DYLD をビルドする
Apple が公開しているオープン ソースの DYLD をビルドしようとしています。
http://www.opensource.apple.com/source/dyld/dyld-97.1/
すべてのファイルをコピーして、XCode プロジェクトをビルドしようとしましたが、不足しているファイルが残っています。
i686-apple-darwin11-llvm-g++-4.2: /usr/local/lib/system/libc.a: そのようなファイルやディレクトリはありません
XCode プロジェクトの設定を確認したところ、このフラグが明確に設定されていますが、ファイル システムのどこにもそのようなファイルはありません。ただし、libc.dylib があります。
私が読んだ他の投稿から、Mac OS X は通常、この libc.a ファイルを使用していないようですが、このプロジェクトによって参照されています。
このファイルをどこで入手できるか、またはなぜ使用されているかを知っている人はいますか?
ありがとう!
android - Android ndk-build が dyld エラーで失敗する
次のチュートリアルhttp://mobile.tutsplus.com/tutorials/android/ndk-tutorial/を実行しています。
そして、私は正しくコンパイルできないようです。次のエラーが表示されます。
Mac OS X 10.5.8 を実行しています。Gnu Make 3.81 を使用しています。Mac OS X に同梱されている awk を使用しています。そして、私はアンドロイドndk r7bを使用しています。
dyld エラーは、10.6 用にコンパイルされてから 10.5.8 マシンで試行された多くのコードでポップアップするようです。
Android.mk メイクファイル:
native.c ファイル:
おそらく私のパスにAndroidライブラリを含めていませんか?ndk-build を見つけることができるように、android r7b フォルダーのみをパスに追加しましたか?
ありがとう、トーマス
macos - Mach-O ファイル LC_FUNCTION_STARTS 読み込みコマンド
Mach-O LC_FUNCTION_STARTS コマンドが指すデータの形式を知っている人はいますか?
私が見つけることができるほとんどの情報は、loader.h ヘッダー ファイルにあります。
dyldinfo ツールには、このデータを分析する -function_starts オプションがあり、ツールはオープン ソースですが、ツールの最新リリース バージョンにはサポートが含まれていません。
http://opensource.apple.com/source/ld64/ld64-97.2/src/other/dyldinfo.cpp
dyldinfo の最新バージョンのソースをどこで入手できるか、またはこのロード コマンドの詳細情報をどこで入手できるかを知っている人はいますか?
ありがとう!
xcode - 実行パス、検索パス、インストール名を適切に設定するには?
動的ライブラリとしてコンパイルしているプロジェクトのコレクションがあります。これらの .dylib のそれぞれは、他のさまざまなディレクトリ (実行可能パスにあるもの、ローダー パスにあるもの、固定パスにあるもの) に配置したい他のさまざまな .dylib に依存しています。
コンパイルされたライブラリで実行するotool -L
と、それらの依存関係へのパスのリストが表示されますが、それらのパスがどのように設定/決定されているかはわかっています。それらはほとんど疑似ランダムに見えます。これらのパス(@rpath、@executable_path、@loader_pathなど)を変更しようとするために、Xcodeの「ビルド設定」をいじって何時間も費やしましたが、何も変更できないようです(実行で確認otool -L
) . これらのフラグをどこに追加すればよいか完全にはわかりません。また、次のフラグの違いや適切な使用方法もよくわかりません。
リンク - 「動的ライブラリ インストール名」
リンク - 「実行パス検索パス」
リンク - 「その他のリンク フラグ」
検索パス - 「ライブラリ検索パス」
さまざまなライブラリで実行するinstall_name_tool -change
と、実行パスの検索パスを正常に変更できます (実行otool -L
して確認したとおり)。
私は Xcode 4.2 を実行していますが、ほとんどあきらめて、install_tool_name を実行するビルド後のスクリプトを使用して変更を加えています。しかし、それはクラッジハックの修正であり、私はそれをしたくない.
dylib 依存関係の検索/実行パスがどのように設定されているかはどこで確認できますか?
私が間違っているかもしれないことについて誰にもアイデアがありますか?
macos - dyld: 特定のライブラリからのシンボルのバインドを強制します
残念なことに、OpenAL.framework には ALUT 1.0 のシンボルが含まれています。私は ALUT 1.1 の恩恵を受けるプロジェクトに取り組んでいるので、ALUT をフレームワークとしてコンパイルしました (freealut ソースから)。
残念ながら、これは ALUT.framework と OpenAL.framework の両方で定義されている特定のシンボルがあることを意味し、ALUT のものを優先して選択する方法が本当に必要です。リンク コマンドで OpenAL の前に ALUT を注文したため、最終的なバイナリの otool 出力に表示されますが、(遅延バインディングのため?) OpenAL シンボルが 1 つのケースで選択されます。(実際には、アプリケーションのシャットダウン時に alutExit 呼び出しが失敗します)
これが dyld の設計と矛盾していることは認識していますが、公式の Apple OpenAL フレームワークに固執しています。ALUT フレームワークをハックしてカスタム シンボル名を使用することもできますが、OpenAL が考慮される前に、すべての ALUT シンボルを貪欲にバインドするように強制する (ハッキングされている場合) 回避策を望んでいます。