我正在研究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_path_ / lib / -lqjson
INCLUDEPATH + = $$ PWD /../ build / _preferred_path_ / include / qjson
DEPENDPATH + = $$ PWD /../ build / _preferred_path_ / include / qjson
有人能告诉我,我做错了什么?
答案 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
它将告诉您每个依赖库的位置。