問題タブ [mach-o]
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 - LC_LOAD_DYLIB コマンドを Mach-O バイナリに挿入する方法、または静的ライブラリを既存のバイナリ (IOS) に結合する方法
スタックオーバーフローで質問するのはこれが初めてで、必死です。
私の仕事は、dylib をロードするか、静的ライブラリを IOS デバイス用の既存の実行可能ファイルに結合することです。
を使用しstatic void __attribute__((constructor)) initialize(void)
てスウィズリングを開始します。この実行可能ファイルは社内エンタープライズ アプリストア用であるため、Apple アプリストアを経由する必要はありません (拒否されるため)。
これは、顧客から既存の IPA と署名キーを取得し、開発者の介入を必要とせずにアプリケーションに新しい機能を追加するためです。
nukonaという会社があります。ここで映画を見ることができます: https://www.youtube.com/watch?feature=player_embedded&v=z9rrOB6lOxY
LSEnvironment を plist ファイル内に配置しようとしたことはわかりますDYLD_INSERT_LIBRARIES
が、IOS アプリケーションのサンドボックスでは LSEnvironment は何の効果もないようです。
また、依存関係の1つを変更し、それをdylib(その依存関係もある)に置き換えるためにinstall_name_toolを試しました。理由がわからずにクラッシュします。
明らかに、XCode のテスト アプリケーションに dylib を追加して再コンパイルすると、完全に動作します。しかし、これは私が会社の管理者などに尋ねることはできません。再構築すると、顧客がこのライブラリを使用するのを思いとどまらせる可能性があります。
これは、スタックオーバーフローで見つけた関連リンクですが、osx 用であり、IOS 用に必要です。 LC_LOAD_DYLIB コマンドを Mach-O バイナリに挿入する方法 (OSX)
私が考えることができる唯一のことは、バイナリロードコマンドを何らかの方法で編集することですが、再配置テーブルなどを考慮してそれを行う方法と方法がわかりません...
どんな代替案でも大歓迎です。
お時間をいただきありがとうございます。
hex - Comparing two mach-o files
I have two mach-o files and i need to find the difference(hexadecimal differed values) in them. is there any tool available for doing this.
i tried using "DiffMerge" but it doesn't have the supported encoding format it seems.
architecture - マッチョだが間違ったアーキテクチャ
NMR データを使用してタンパク質構造を計算するために使用される ARIA2.3 というプログラムをインストールしようとしています。このプログラムでは、グラフィカル インターフェイスを実行するために Tix という別のプログラムが必要です。しかし、Tix をインストールするのは (礼儀正しさを保つために) 骨の折れる作業であることが判明しました。なんとかインストールできたと思いますが、コマンドでARIAのグラフィカルインターフェイスを起動すると、まだエラーが発生します
次のエラー メッセージが表示されます。
libTix8.4.3.dylib がアーキテクチャ x86_64 であることは知っています。私は Mac OS X 10.6.8 で作業していますが、情報学についてはあまり知りません。誰かが ARIA を機能させるのを手伝ってくれませんか?
objective-c - Apple Mach-Oリンカー(id)エラー-アーキテクチャi386の未定義のシンボル
このタイプのエラーが以前に何度も発生したことは知っていますが、エラーの解決策は見つかりませんでした。xcode4.0を使用しています。ASIHTTPRequest zipをダウンロードし、「Reachability」の2つのファイルとともにclassesフォルダーをコピーしました。コンパイル後、理解できない奇妙なエラーが発生します。以下に、アーキテクチャi386の未定義のシンボルのエラーテキストをコピーしました。
また、ASIAuthenticationDialog.mファイルで警告が表示されます。
誰かがこれらのエラーと警告は何のためにあるのか教えてください?私は何が間違っているのですか?私はそれで何時間も無駄にしてきました:(
編集:
ASIAuthenticationDialog.m
ファイル内の警告のコード:
ios - リンカコマンドエラー:'ld:アーキテクチャi386のシンボルが見つかりません'
コンパイル時にエラーが発生しました。変なようです。詳細ビューアプリケーションとして機能しましたが、単一ビューの使用は機能していないようです。これはエラーの詳細です:
iphone - Apple Mach-O リンカ エラー (2)
CloudApp APIに関して 2 つの Mach-O リンカー エラーが発生します。私は、StackOverflow、Apple の開発者フォーラム、および少なくともリモートで問題に近い他の場所の両方で多数の回答を探してきましたが、あまり役に立ちませんでした。ここ数日、頭がおかしくなっていて、直せないようです。
ここに2つのエラーがあります:
どんな助けでも大歓迎です。ご不明な点がございましたら、お気軽にお尋ねください。前もって感謝します。
objective-c - Apple Macho リンカ エラー Xcode
こんにちは、動的テーブル ビューを作成しており、他のファイルに保存されているメソッドから情報をアップロードしようとしています。情報を取得しているかどうかをテストしようとすると、Macho Linker エラーが発生します
アーキテクチャ i386 の未定義シンボル: "_OBJC_CLASS_$_FlickrFetcher"、参照元: MyTableViewController.old の objc-class-ref: アーキテクチャ i386 のシンボルが見つかりません
これが私が追加したコードで、問題が発生しました。
FlickerFetcher.h これには、私の tableViewController が topPlaces を呼び出すメソッドがあります
TableViewController ファイル。追加する前にコードが正常に機能していたため、怠惰にインスタンス化するとセッターブレインで問題が発生すると思います。マッチョ リンカー エラー。
objective-c - このViewControllerがコードをクラッシュさせるのはなぜですか?
このカラーピッカーをオンラインで見つけました。現在、コードに実装しようとしています。すべての手順に従って実装しましたが、コードに付属のViewControllerを(UITableViewセルを使用して)ロードしようとすると、コードをビルドおよび/または実行しようとすると、AppleMach-oLinkerエラーが発生します。
アーキテクチャarmv7の未定義のシンボル: "_ OBJC_CLASS _ $ _ ColorPickerViewController"、参照元:ClockSettingsViewController.oのobjc-class-ref:アーキテクチャarmv7のシンボルが見つかりません
私がしているのは、クラッシュの時点でビューを階層にロードすることだけです(次の行はビューを表示する行です)。すべてのパーツをxcodeで個別にビルドしましたが、このコード行がエラーの原因であることがわかりました。
そして、そのコードはここにあります:
私はこの方法を何百回もビューを開くために使用しました(実際、これは私が今まで使用した唯一の方法です)ので、それがコード自体ではないことを知っています、そして私はどこでもチェックし、必要なものすべてをインポートしました。何が間違っているのか、そしてエラーは何を意味するので、将来修正することができます。よろしくお願いします。
linux - QtクロスコンパイルLinux->MacOSはQtライブラリにリンクできません
Linuxホスト上のMacOSターゲット用にクロスコンパイルしたQtプログラムをリンクしようとしています。ここ(https://github.com/Tatsh/xchain)にある手順に従って、gccを正常にビルドしました。そのページにあるように、両方の単純なテストプログラムをコンパイルおよびリンクして、MacOSで正常に実行される実行可能ファイルを生成できます。
このgccを使用してソースから独自のQtを構築しましたが、問題なくQtプログラムをコンパイルできます。問題はリンク段階で発生します。プログラムのオブジェクトファイルをQtライブラリにリンクする必要がある場合、Qtライブラリがまったく見つからないか、何らかの理由で互換性がないために無視されているように見えます。
私のプログラムのオブジェクトファイルと私が作成したQtライブラリはどちらも問題ないようです。
g++の呼び出しは次のようになります。
もちろん、もっとたくさんのオブジェクトファイルともっとたくさんのQtライブラリがあります。簡潔にするためにそれらを省略しました。
私が得るエラーは、コマンドラインにオブジェクトまたはライブラリを追加しないという典型的なものです。次に例を示します。
基本的にすべてのQtライブラリが見つからないようです。
また、-L / pathと-lQtFooコンボの代わりにlibファイルを直接指定しようとしました。また、それらの名前を.dylibから.soに変更しようとしました:)
-vを指定してg++を実行し、リンカー呼び出しを確認してから、それに-vを追加すると、ライブラリのチェック対象のパスに問題がないことがわかります。
libの場所と設定は問題ないようです。
libの内容も問題ないようですが、私はこの部分にあまり精通していません...実際、私はちょうど今ここで別の質問で「nm」を発見しました。
また、「名前修飾」についてはあまり詳しくありませんが、これと関係があるのではないかと感じています。
これまでのところ、このクロスコンパイル全体のことはかなり長い道のりだったので、これが終わりに近づいて、これほど私を困惑させる何かにぶつかるのは残念です-アドバイスをいただければ幸いです!
****編集** *
ld64呼び出しの-dynamicフラグを削除すると、異なる関数名が欠落していると表示されることがわかりました。たとえば、上記の「QMainWindow :: event(QEvent *)」への参照が欠落していると、次のようになります。
そして今、私はこれらの名前が実際に私が構築したQtライブラリに見つからないことがわかります(構成の問題...?)。これは、問題を解決するために何をすべきかについて私にあまり教えてくれませんでしたが、おそらくそれは他の誰かに手がかりを与えるかもしれません。
objective-c - Apple Mach-Oリンカー(id)エラーリンカーコマンドが終了コード1で失敗しました。重複するシンボルエラーがロードされ、xcodeの外部では正常に機能します。
私は現在Objective-Cの使用方法を学んでおり、簡単な視覚的デバッグのためにXcodeに組み込むことにしたクラスを含む単純なプロジェクトを行っていましたが、すべてのエラーと警告を解決すると、次のようになりました。
奇妙なことに、「修正されたコード」をSublime Textに戻し、保存してから、ターミナルを介してコンパイルしました。エラーも警告もありません。
私はこれに関する他の質問のいくつかを読みました、そして解決策は常に彼らが重複した宣言を見つけたか、または彼らが重複した宣言をもたらした同じ名前の余分なファイルを持っていたということでした...私はどちらも持っていません。 ..
だから...何か助けは?