2012-11-23 29 views
0

我正在開發Qt項目。我已經成功安裝了QJson。和已經使用的解析器解析data.My代碼獲得成功編譯但在運行時,它給我以下錯誤:在Mac上使用QJson解析數據

使dyld:庫未加載:libqjson.0.dylib

從參考:/用戶/桑傑/未命名 - 構建 - 桌面Qt_4_8_3_in_PATH_ 系統 _debug/untitled1.app /內容/ MacOS的/未命名

原因:沒有找到圖片

我添加庫作爲Qt的創世外部庫。它補充下面的代碼到我的.pro文件:

MACX:LIBS + = -L $$ PWD /../建立/ _preferred_pa​​th_/lib中/ -lqjson

INCLUDEPATH + = $$ PWD /../建立/ _preferred_pa​​th_ /包括/ qjson

DEPENDPATH + = $$ PWD /../編譯/ _preferred_pa​​th_ /包括/ qjson

有誰請告訴我什麼是我做錯了什麼?

回答

0

確保該庫位於您的應用程序的應用程序文件中。提供完整路徑名稱,如LIBS + =「lib/libqjson.dylib」

我使用了上述指令,它適用於我。

+0

嗨Aakash .thanx爲您的快速回復。正如你所說,我已經將我的lib和包含文件夾複製到包含我的.app文件的文件夾中。但它仍然給我同樣的錯誤。 –

0

如果您的應用程序編譯成功,那麼這意味着在pro文件中定義的項目配置是正確的(包括LIBS配置)。

在這種情況下,您的應用程序在運行時失敗,這意味着在庫路徑中找不到libqjson.0.dylib。首先檢查如何使用otool工具將json庫鏈接到庫中(http://tech-queries.blogspot.com/2011/04/dynamic-library-dependency-on-mac-os-x.html)。該工具將幫助你發現問題,你可以檢測後:在適當的位置

重新連結可能在pro文件中設置爲後建立步驟。下面是例子:

macx { 
    QMAKE_POST_LINK = install_name_tool -change libqjson.0.dylib @loader_path/relative_path_to_library/libqjson.0.dylib your_binary_file 
0

在終端,輸入:

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

它會告訴你每個依賴庫的預計。

+0

嗨斯蒂芬我已經嘗試過了。它給我所有其他庫的路徑,但不是爲libqjson.0.dylib。 –