2012-11-23 26 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。 –