問題タブ [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.

0 投票する
1 に答える
1456 参照

java - JNI System.LoadLibrary が Cocoa dylib で失敗しました

JNI ガイドラインに従って、Xcode を使用して (Objective-C で) dylib を作成し、次のように Java プロジェクトにロードすることを期待しました。

そして、次のランタイムエラーが発生しています-

どうすればこれを修正できますか?

0 投票する
1 に答える
2288 参照

c++ - ダイナミック qt ライブラリでシンボルをエクスポートする

OS X 10.6.7 および Qt 4.7.3 で Qt を使用して動的ライブラリを作成しようとしています。考えられる最も基本的なテストを作成しました (以下またはhttps://gist.github.com/1016045を参照) 。

まだ報告している

そのリストには、階乗に関連する何か他のものが表示されるはずだと思います。

テストケース (こちらもhttps://gist.github.com/1016045 ):

ビルドするには:

もう読んだ:

該当する場合は、他のリソースをお勧めします。

編集:

Q_DECL_EXPORT マクロを使用することで回避できるはずだと思っていた名前が破損している (または少なくとも破損しているように見える) ものの、シンボルは正しくエクスポートされている可能性があると思います。たとえば、nm -g build/libstackoverflow.dylib を実行した結果は次のとおりです。

これは私が期待すべきことですか?

0 投票する
1 に答える
7307 参照

macos - Mac OS X libcurl dylib 互換バージョン

私のアプリケーションは 10.6 で正常にビルドおよび実行されます。Base SDK を 10.6 に設定し、Mac OS X Deployment Target を 10.5 に設定しています。

私のアプリケーションは、システム libcurl.dylib を使用しています — プロジェクトに dylib を追加する代わりに-lcurl、ビルド設定のリンカー フラグに追加するだけです。(私は両方の方法で試しましたが。)

10.5.8 でアプリケーションを起動すると、次のエラーが表示されます

Dyld エラー メッセージ: ライブラリがロードされていません: /usr/lib/libcurl.4.dylib

参照元: /Applications/My Application.app/Contents/MacOS/MyApplication

理由: 互換性のないライブラリ バージョン:

MyApplication にはバージョン 6.0.0 以降が必要ですが、libcurl.4.dylib はバージョン 5.0.0 を提供します

案の定otool -L、アプリケーションのバイナリの場合、libcurl に対して次の結果が得られます。

/usr/lib/libcurl.4.dylib (互換バージョン 6.0.0、現在のバージョン 6.1.0)

これを回避する方法はありますか、それとも自分の libcurl ビルドを静的にリンクする必要がありますか?

0 投票する
1 に答える
644 参照

objective-c - Mac は単純な dylib を作成していますか?

クライアント用に XCode を使用して dylib を作成する必要があります。dylib には、start と stop の 2 つの関数しかありません。人々はこれを mono 用に作成しており、これを dylib と呼びます。どうすればこれを作成できますか? ありがとう。

0 投票する
3 に答える
2009 参照

macos - 適切な Windows/Mac DLL/DyLib を開く Mono DLL

Mono を使用して、一連のネイティブに公開されたコマンドのラッパーを作成しています。

セットは同じ (コマンドと署名) ですが、Windows では DLL を介して、Mac では DyLib を介して公開されます。

ラッパー .NET/Mono DLL を 1 つだけ作成しながら、インポート元の適切なライブラリを自動的に見つけられるようにする方法があるかどうか疑問に思っていました。

もしそうなら、構文は何ですか?そうでない場合、コンパイルする 2 つの異なる OS から DllImport を分離するコンパイラ定義は何でしょうか?

編集:Monoで可能であれば、Mac部分の動的ライブラリ(.dylib)の代わりに静的ライブラリ(.a)のボーナスポイント。

0 投票する
3 に答える
12713 参照

dylib - dlopen()エラーイメージが見つかりません

最初に.dylibをロードするソフトウェアがあり、次のコマンドを使用してlibFirst.dylibを呼び出すことができます。

後で、ロードされたlibFirst.dylibから関数内で、同じコマンドを使用して別の.dylibをロードしようとしますが、libSecond.dylibの場合、この共有ライブラリをロードすると、Xcodeコンソールに次の警告が表示されます。

私が得られないのは、libFirst.dylibがロードされていないということですが、現在libFirst.dylibの関数内にいるので、どうすればよいでしょうか。

DYLD_LIBRARY_PATHのすべてのパスも正しいように見えます。

事前のおかげで、私はこれに何日も立ち往生しています。

0 投票する
1 に答える
8359 参照

macos - MAC OS X の動的ライブラリで静的ライブラリのシンボルを非表示にしますか?

スタティック ライブラリ (例: boost.a) といくつかの *.o ファイルを使用して、MAC OS X でダイナミック ライブラリ (例: libdynamic.dylib) を作成しています。

-fvisibility=hidden フラグで作成したので、*.o ファイルからシンボルを隠すことができます。しかし、すでにコンパイルされているため、boost.a ライブラリからシンボルを非表示にすることはできません。

動的ライブラリで、静的ライブラリのシンボル (関数) を非表示にする方法はありますか?
つまり、myfuncs.o ファイルに、boost.a ファイルの関数 (visible) を呼び出す関数 (hidden) がある場合、"nm ツール" を使用すると、boost.a 関数が表示されます。

解決策を提案してください。

0 投票する
2 に答える
19268 参照

objective-c - dylibを追加するXcode 4

dylib を作成してプロジェクトに追加しようとしています。「Cocoa-Library」テンプレートを使用し、タイプを「動的」に設定して作成しました(動的か静的かはわかりません...)。次に、Test という名前の単純な obj-c クラスを作成し、コンソールに何かを出力するメソッドを作成しました。

生成された .dylib ファイルをコンパイルして使用し、別のプロジェクトに配置しました。これを使用しようとすると、実行時にこのメッセージが表示されます」

また、ファイルのコピー フェーズを作成し、コピー先を「フレームワーク」に設定しました。それでも同じエラーが発生します。私は何を間違っていますか?

0 投票する
2 に答える
1769 参照

iphone - 「symbol dyld_stub_binder not found」エラーの解決方法

プラグインが見つからないというエラー メッセージが表示された後、アプリのビルドと実行に問題が発生しました。メッセージをグーグル検索し、プロジェクトにいくつかのファイルを追加しようとしました(私が何をしたのかわからなくなり、指示に従っただけです)。その後、15 件ほどの警告が表示されたので元に戻しましたが、アプリはまだ実行されません。最初の警告は次のように述べています。

ld: 警告: シンボル dyld_stub_binder が見つかりません。通常は libSystem.dylib にあります アーキテクチャ armv7 の未定義シンボル:

解決策を見つけようとしましたが、これに近いトピックをいくつか見ましたが、同じではありません。Xcodeを再インストールしましたが、まだ運がありません。私はいくつかの他のプロジェクトを試しましたが、それらは機能しているので、私のプロジェクトに何かが起こりました.

次のようなあらゆる種類のエラーメッセージも表示されます。

"__objc_empty_vtable", referenced from:
_OBJC_METACLASS_$_BokbynAppDelegate in BokbynAppDelegate.o _OBJC_CLASS_$_BokbynAppDelegate in BokbynAppDelegate.o _OBJC_METACLASS_$_FirstViewController in FirstViewController.o _OBJC_CLASS_$_FirstViewController in FirstViewController.o _OBJC_METACLASS_$_AddresAnnotation in FirstViewController.o _OBJC_CLASS_$_AddresAnnotation in FirstViewController.o _OBJC_METACLASS_ $_SecondViewController 内の SecondViewController.o "

0 投票する
1 に答える
3074 参照

c# - フレームワークlibz.dylibとlibxml2.dylibをMonoTouchのgcc_flags引数に追加するにはどうすればよいですか?

btouchを使用してMonoTouchにインポートしようとしているObjectiveC静的ライブラリがあります。しかし、私が直面している問題は、ライブラリがlibz.dylibとlibxml2.dylibに依存しており、MonoTouchアプリケーションにこれらのフレームワークを含める方法がわからないことです。

XCodeプロジェクトで静的ライブラリをテストしましたが、このテストアプリケーションは正しくコンパイルおよび実行されます。現在、MonoTouchでまったく同じサンプルアプリケーションを構築しようとしていますが、すべての依存関係が含まれるようにgcc_flags引数を正しく取得するのに問題があります。

XCodeアプリケーションには、次のフレームワークを含める必要がありました。

また、XCodeでは、必要なすべてのヘッダーファイルを見つけるために次の検索パスをインクルードする必要がありました: "$(SDK_DIR)" / usr / include / libxml2

さて、MonoTouchでは、ビルドオプションの下のgcc_flagsに次のセットがあります。

コンパイルしようとすると、リンクエラーの長いリストが表示されます。これは、私が知る限り、リンク中にlibz.dylibとlibxml2.dylibが含まれていないことが原因です。これらがMonoTouchに含まれるようにする方法を誰かが知っていますか?