0

私はQtプロジェクトに取り組んでいます。QJson を正常にインストールしました。パーサーを使用してデータを解析しました。コードは正常にコンパイルされましたが、実行時に次のエラーが表示されます。

dyld: ライブラリがロードされていません: libqjson.0.dylib

参照元: /Users/sanjay/untitled1-build-desktop-Qt_4_8_3_in_PATH_ System _Debug/untitled1.app/Contents/MacOS/untitled1

理由: 画像が見つかりません

ライブラリを Qt クリエータに外部ライブラリとして追加しました。次のコードを .pro ファイルに追加しました。

macx: LIBS += -L$$PWD/../build/_preferred_pa​​th_/lib/ -lqjson

INCLUDEPATH += $$PWD/../build/_preferred_pa​​th_/include/qjson

DEPENDPATH += $$PWD/../build/_preferred_pa​​th_/include/qjson

誰が私に教えてもらえますか?私は何が間違っているのですか?

4

3 に答える 3

0

アプリケーションが正常にコンパイルされた場合は、pro ファイルで定義されたプロジェクト構成が正しいことを意味します (LIBS 構成を含む)。

この場合、アプリケーションは実行時に失敗するため、libqjson.0.dylib がライブラリ パスに見つからなかったことを意味します。まず、otool ツール (http://tech-queries.blogspot.com/2011/04/dynamic-library-dependency-on-mac-os-x.html) を使用して、json ライブラリがライブラリにどのようにリンクされているかを確認します。このツールは、問題を検出するのに役立ちます。検出後、次のことが可能になります。

ライブラリ ステップの再リンクは、pro ファイルのビルド後のステップとして設定できます。次に例を示します。

macx {
    QMAKE_POST_LINK = install_name_tool -change libqjson.0.dylib @loader_path/relative_path_to_library/libqjson.0.dylib  your_binary_file
于 2012-11-23T20:57:52.883 に答える
0

ターミナルで、次のように入力します。

otool -L /Users/sanjay/untitled1-build-desktop-Qt_4_8_3_in_PATH_System_Debug/untitled1.app/Contents/MacOS/untitled1

各依存ライブラリがどこにあると予想されるかがわかります。

于 2012-11-24T19:26:21.567 に答える
0

ライブラリがアプリケーションのアプリ ファイルと一緒に配置されていることを確認してください。LIBS += "lib/libqjson.dylib" のようなフルパス名を付けます

上記のディレクティブを使用しましたが、うまくいきました。

于 2012-11-23T15:30:24.503 に答える