在mac上使用QJson解析数据

时间:2012-11-23 15:19:55

标签: macos qt qjson

我正在研究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 creater中添加了库作为外部库。它将以下代码添加到我的.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

有人能告诉我,我做错了什么?

3 个答案:

答案 0 :(得分:0)

确保库位于应用程序的app文件中。给出完整的路径名,如LIBS + =“lib / libqjson.dylib”

我使用了上述指令,它对我有用。

答案 1 :(得分:0)

如果您的应用程序成功编译,则表示pro文件中定义的项目配置正确(包括LIBS配置)。

在这种情况下,您的应用程序在运行时失败,因此意味着无法在库路径中找到libqjson.0.dylib。首先使用otool工具检查json库如何与您的库链接(http://tech-queries.blogspot.com/2011/04/dynamic-library-dependency-on-mac-os-x.html)。此工具将帮助您检测问题,检测后您可以:

库步骤的重新链接可以在pro文件中设置为post build步骤。这是一个例子:

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

答案 2 :(得分:0)

在终端中,输入以下内容:

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

它将告诉您每个依赖库的位置。