問題タブ [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.
c++ - シンボルが見つかりません。フラットな名前空間 ObjC++ にあるはずです
私はおそらく単純な問題を抱えていますが、コンパイル中に何が問題なのかを警告する有益なエラーや警告はありません。
C++ のメイン ファイルと ObjC ヘッダー ファイルを含む Objective-C++ アプリがあります。
正常にビルドされますが、実行すると次のエラー メッセージが表示されます。
いくらグーグルで調べても解決には至りませんでした。コンパイルまたはビルドのオプションをどこかで見逃したに違いありません。
ターゲットに「AppController.h」をインクルード(チェック)#import
し、ObjC Class Fileに'd'します。
どんな助けでも大歓迎です。
ObjC++ は常に頭痛の種です。
ありがとう、
-S!
c++ - Makefileはmacportsによってインストールされたブーストライブラリを見つけることができません
を使用してmacportsからboost1.42.0をインストールしsudo port install boost
ました。
すべてがうまくいきました。これで、makefileを使用してビルドしようとしているプロジェクトがあります。Boostライブラリを必要とするファイルになるまで、すべてが正常に構築されます。
src /graph.h:20:42:エラー:boost/graph/adjacency_list.hpp:そのようなファイルやディレクトリはありません
そのファイルは実際には2つの場所にあります:
/opt/local/include/boost/graph/adjacency_list.hpp
と
/opt/local/var/macports/software/boost/1.42.0_0/opt/local/include/boost/graph /adjacency_list.hpp
boost/graph/adjacency_list.hppを探しているファイルsrc/graph.hのincludeステートメントは次のとおりです。
#include<boost/graph/adjacency_list.hpp>
これを機能させるにはどうすればよいですか?
dyld - dyld: シンボルが見つかりません: _MPMoviePlayerPlaybackStateDidChangeNotification
MPMoviePlayerViewController を使用してビデオを再生するユニバーサル アプリを構築しています。通知「MPMoviePlayerPlaybackStateDidChangeNotification」を監視しています。アプリは iPad シミュレーターで正常に実行されますが、iPhone で実行すると次のエラーがスローされます:-
dyld: シンボルが見つかりません: _MPMoviePlayerPlaybackStateDidChangeNotification 参照元: /Users/veer/Library/Application Support/iPhone Simulator/3.0/Applications/27BC67AA-72D1-4DD2-9146-0126FCC8E90C/test.app/eReader 想定: /Developer/Platforms/ iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/MediaPlayer.framework/MediaPlayer in /Users/veer/Library/Application Support/iPhone Simulator/3.0/Applications/27BC67AA-72D1-4DD2-9146 -0126FCC8E90C/test.app/eReader
同じ問題が発生し、解決された人はいますか?
前もって感謝します!
objective-c - Dyld:ライブラリがロードされていませんエラーMac OS
Hoookay、
だから私はこれに対する12の「libdummyをロードする」答えを取得しようとしていることを知っていますが、ここに行きます...
junk.frameworkは、別のプロジェクト(junk.app)のいくつかのオブジェクトをエクスポートしているので、クラスターのremote.appノードで使用できます。junk.frameworkをコンパイルして(動的ロードではもう意味がないことに気づきました)、remote.appをコンパイルしてjunk.frameworkにリンクできます。
ただし、remote.appを実行すると、次のようなエラーが発生します。
何が起こっているのかというと、junk.frameworkが特定の場所からlibtiff.dylibをロードしていて、それを見つけることができないということだと思います。junk.frameworkは、私が取り組んでいるもう1つのプロジェクトであり、(最終的に)ビルドする必要があります。
get info
ジャンクターゲットのlibtiff.dylibにアクセスすると、/Users/slate/Documents/osirix/osirix/Binaries/LibTiff/libtiff.dylib
パスとして表示されます...そしてabsolute path
選択されました。では、なぜそれを探していないのですか?
ええと...なぜ@executable_path/../を見ているのですか???? 変更できるように、その設定はいったいどこにありますか?
編集 - -
otool -Lは私にこれを与えます:
c++ - C++ダイナミックライブラリをリンクするときにレイジーシンボルバインディングが失敗しました
C ++でdylibを作成していますが、それをアプリケーションにリンクしようとすると、実行時にエラーが発生します。
シンボルが剥がれていないことを確認し、
シンボルがライブラリに存在することを報告します。
XCodeの内部からリンクしているので、リンクコマンドはちょっと変です。dylibのリンカーコマンドは次のとおりです。
テストアプリのリンカーコマンドは次のとおりです。
なぜこれが起こっているのか、および/またはそれを修正する方法についてのアイデアはありますか?
gcc - gccに1つのリンカーを別のリンカーの上に使用するように強制します
ld
最近、私はOS Xに取り組んでいます。どういうわけか私のシステムに接続され、現在gcc
は使用されなくなるまで、物事はしばらくの間かなり桃色になりましたdyld
。さらに、私の共有ライブラリはすべて*.dylib
フォーマットされており、ldはその存在を頑固に無視しています。からmv
ldを実行するPATH
と、gccはldが見つからないと文句を言います。
gccを軌道に戻し、本来あるべきものを使用するのを手伝ってください。
macos - dyld:警告、不明な環境変数:DYLD_LIBRARY_PATH_64-ビット
Mac OS X Developer Toolsのバンドルされたプロパティリストエディタを使用して、環境変数DYLD_LIBRARY_PATH_64ビットをファイル〜/ .MacOSX/environment.plistの値path/to/dylibに設定しました。このファイルを保存してログアウトしました。
再度ログインすると、コンソールに「dyld:警告、不明な環境変数:DYLD_LIBRARY_PATH_64ビット」という複数のメッセージが表示されました。プロパティリストエディタを使用してenvironment.plistからエントリを削除し、ファイルを保存してログアウトしました。
再度ログインしましたが、警告メッセージが表示され続けます。dyldのマニュアルページには、すべて「DYLD_」で始まるため、私のわがままな環境変数に似た定数のリストが表示されます。ソースファイルdyld.cppは、DYLD定数の長い行の後にelseを表示し、まったく同じ警告メッセージを出力するコードを示します。たぶん、私は環境変数の命名の太陽に近づきすぎたのでしょう。私たちは自由だと思った!
update_dyld_shared_cacheを無駄にしてみました。おそらく私はいくつかの重要なフラグを見逃していますか?
パスに(明らかに不正な形式の)環境変数を追加しようとして、「setenvDYLD_LIBRARY_PATH_64ビットパス/to/dylib」を/etc/launchd.confに追加しました。 。
コマンドラインから、エクスポートはDYLD_LIBRARY_PATH_64ビットを表示しません。出力例を次に示します。
この話の教訓は、少なくともダイナミックライブラリパスでは、プロパティリストエディタを使用しないことです。いいえ、話の教訓は、環境変数名の末尾にダッシュを使用することは決してありません。フラグのように見えるからです。
そうは言っても、このなりすましの環境変数を取り除き、コンソールから繰り返しのdyld警告を取り除くための推奨事項はありますか?
ありがとう!
c++ - Dyld Symbol not Found エラー
これが私のエラーです。
eqOsirix
私のメインの名前空間はどこですか。少し前に2つの同様の問題(1つと2つ)がありましたが、どちらの解決策も今は役に立ちません。
Macをアップデートしてから気付きましたが、関係ないと思います。
コンパイル エラー (または警告) は生成されません。
何が原因でしょうか? リンク中にコンパイラが何もキャッチしないのはなぜですか? 私はクリーン ビルドを行い、XCode と Mac の両方をリセットしましたnamespace
。オー!
[編集] @Troubador がそれはスクランブルの一部ではないと指摘したのでROI
、以下に ROI を含めます。
失敗することはあまりありません。C++ (Java や ObjC とは対照的に) ですべての仮想が正常に定義されていると思います。
c++ - クラス関数を挿入するために DYLD 挿入を使用する
dyld -macosx- を使用して標準 C 関数をサードパーティ アプリケーションに挿入することに成功し、その回避策に関する重要な情報を取得しました。しかし、私が本当に必要としているのは、特定のクラスの特定の関数を置き換えることです。
オーバーライドしたい関数は QString::append(..., ..., ...) なので、文字列が別の文字列に追加されるたびに (アプリケーション全体で qstring が使用されている)、わかります。
方法はありますか?これが私がすでに持っているコードです。
どうもありがとうございました
macos - Mac OSX で gcc を使用して実行可能ファイルのランタイム パス (-rpath) を設定するにはどうすればよいですか?
非標準の場所にある共有ライブラリがプログラムの開始時に動的リンカーによって検出されるように、コンパイル時に実行可能ファイル (リンカー用) のランタイム パスを Mac OSX で設定したいと考えています。
Linux ではこれを-Xlinker -rpath -Xlinker /path/to
(または を使用して-Wl,-rpath,/path/to
) 行うことができ、Solaris-R/path/to
ではコンパイラ コマンド ラインに追加できます。
Mac OS X gcc が 10.5 以降、つまり 2008 年以降 -rpath をサポートしているという情報を見つけました。
最小限の例で動作させようとしましたが、成功しませんでした:
と:
次のようにコンパイルしました。
今テスト:
したがって、質問: Mac OSX でリンカーのランタイム パスを設定するにはどうすればよいですか?
ところで、設定DYLD_LIBRARY_PATH
は機能しますが、このハックを使用したくありません。
編集:についてotool -L
:
otool -L
実行可能ファイルがリンクされたライブラリ名(およびおそらくリンク時の場所)のみを出力し、ランタイムパス情報は出力しないようです。