問題タブ [dylib]
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.
java - Mac OS X 10.6 で x86_64 .a ファイルから jnilib を作成する
Java アプリケーションから非ユニバーサル (シン?)、x86_64、C ライブラリの束を使用したいと考えています。問題は、静的バージョン (.a ファイル) しかなく、jvm がそれらを動的にする必要があることです。
libtool を使用してファイルを 1 つの動的ライブラリに結合しようとしましたが、x86_64 のシンボルの多く (おそらくすべて、多くのシンボル) が欠落しているというエラー メッセージが表示されました。アプリケーションを -arch x86_64 でいくつかのライブラリを使用してリンクし、正しく実行できるようにします。
これは単純なコマンド ラインのはずですよね?私が望む最後のことは、既存の関数に対して独自のラッパー関数を作成して、それらを動的ライブラリに入れることができるようにすることです。
objective-c - 動的ライブラリ (.dylib) をフレームワーク (.framework) にコピーする
フレームワークとクライアント アプリケーションの 2 つの XCode プロジェクトがあります。私のアプリケーションは私のフレームワークに依存しており、すべてがそれで正常に動作します — フレームワークはアプリが再コンパイルされるたびに再コンパイルされ、プロジェクトのビルド パスは正しく設定され、完全に問題ありません。
フレームワークはサードパーティの dylib ファイルの使用を開始し、dylib に対してリンクされています。そのライブラリをフレームワークのリソース ディレクトリにコピーするためのビルド フェーズも追加しました。
アプリケーションを実行しようとすると、すべてが正しくコンパイルされ、次のようになります。
dyld: ライブラリがロードされていません: /usr/local/lib/libplplot.9.dylib 参照元: /Users/railsmaniac/Projects/Study/Calculus of >approximations/Builds/Debug/XNMaths.framework/Versions/A/XNMaths 理由:画像が見つかりません
どうすれば修正できますか?ライブラリをクライアント アプリケーションのリソースに追加しても、問題は解決しません。ライブラリを必要な場所に配置することもできますが、フレームワーク内に保持することを好みます。出来ますか?
cocoa - XCodeのダイナミックライブラリ
ダイナミックライブラリに実装されているMacアプリケーションをXCodeで作成しようとしています。
XCode cocoaプロジェクトに新しいターゲット(ダイナミックライブラリ)を追加し、フレームワークとプリコンパイル済みヘッダーと少し戦った後、dynlibをコンパイルしてデバッガーから正常に実行しました。
ただし、スタンドアロンで実行すると、dynlibが間違った場所にあることがわかります。「ライブラリがロードされていません:/usr/local/lib/testlib.dynlib」。Windows(私のより一般的なプラットフォーム)では、DLLはexeと同じフォルダーに配置でき、システムパス上の任意の場所に配置できます。
私はむしろ私のアプリケーションがそのアプリケーションバンドルのどこかでそのdynlibを探すことを望みます(そして特定の文書はこれが正しいアプローチであることを確認しているようです)、しかし私は方法がわかりません。
dylibが実際にアプリバンドルにコピーされ、アプリがそれを探す場所にあるように、XCodeでプロジェクトを構成することは可能ですか?
検索パスをリセットするためにotoolを使用する必要はないようです。ターゲット情報->ビルド->デプロイメント->インストールディレクトリを編集すると、XCode内から、dyldがdylibを探すパスを変更できます。新しいダイナミックライブラリプロジェクトのデフォルトでは、パスはに設定されていました/usr/local/lib
。私が変更したもの./
--otoolは、./がdyldがこの特定の動的モジュールを探している場所であることを確認します。残念ながら、./は実際には私のアプリケーションバンドル内のどのディレクトリも参照していないようです:(
したがって、私の質問(他のスレッドでは回答されていません)は次のとおりです。1。[ターゲット情報]->...->[インストールディレクトリ]設定に意味のある相対パスを入力するにはどうすればよいですか。2。XCodeを自動的に取得するにはどうすればよいですか。 dylib'target'をアプリケーションバンドルターゲットの相対的な場所にあるバンドルフォルダにコピーしますか?
macos - MacOSXのネットワークパケットインスペクター
ネットワークパケットインスペクターを作成しようとしています。
libpcapでこれを実行できることは知っていますが、スニファではありません。ネットワークに送信される前に、ネットワークパケットを偽造する必要があります。(ソックスサーバー経由で送信)
私はこれを行う2つの方法を見つけました:
- NKEを使用します。(ネットワークカーネル拡張)
- DYLD_INSERT_LIBRARIESを使用して、ネットワーク関数をフックするライブラリを挿入します。
どの方法が最適だと思いますか?
xcode - プラグイン バンドルでの dylib @executable_path パスの問題
私はプラグイン バンドルを開発しています。たとえば、MyPlugIn.bundle
アプリケーション用ですBigApp.app
。このバンドルには dylib が必要MyPlugIn.bundle/Contents/Resources/library.dylib
です。単純なアプリケーション バンドルの場合と同様に、library.dylib のパスを再配置しました。
しかし、BigApp.app はこのバンドルの読み込みに失敗し、Mac OS X の Console.app は次のログを記録します。
@executable_pathは MyPlugIn.bundle 実行可能パスではなく BigApp.app 実行可能パスに置き換えられているようです。
絶対パスなしで、Mac OS X 10.4 (Tiger)で動作するようにするための回避策はありますか? ありがとう。
dylib - dlopenを使用してdylibバージョンを検索する
パスを使用してdylibのバージョンを見つける方法はありますか?dlopenと同じ引数を受け入れるものを探しています。NSVersionOfRunTimeLibraryを見てきましたが、ドキュメントを読んだところ、パスで指定されたものではなく、現在のdylibのバージョンを取得しているように見えます。
ありがとうございました
iphone - iPhone 3.1.2 の dylib が短すぎる、間違った cputype/cpusubtype
ちょっとしたプロトタイピング実験で使用する dylib をコンパイルしようとしましたが、dlopen() は私の dylib は Mach-O ですが、ファイルが短すぎると言っています。それは何かで埋めるべきですか?
最新のものが揃っているので問題ありません。
i386 と armv6 のアーキテクチャをマージしようとすると、lipo は次のように吐き出します。
lipo: ファイル (libTest.A.armv6.dylib) に指定されたアーキテクチャ タイプ (armv6) が、その cputype (7) および cpusubtype (3) と一致しません (cputype (12) および cpusubtype (6) である必要があります)
Any thoughts?
macos - dyld: ターミナルでコマンドを実行すると、ライブラリがロードされていないというエラーが発生する
ターミナルでいくつかのコマンドを実行すると、次のエラー メッセージが表示されます
私のxcodeは最新です。
cocoa - Cocoa アプリでパスを .dylib パスに設定する
Mac OS X Cocoa アプリを開発していて、いくつかの .dylib ライブラリを使用したいと考えています。アプリケーション フォルダのどこかにある .dylib へのパスを設定するにはどうすればよいですか? パスが別のコンピューターの別のディレクトリにある場合、またはパスがまったく存在しない場合はどうなりますか?