尝试从Qt 5.1构建示例程序时,出现以下运行时错误:
Starting /Users/pietro/myProgs/ParamGUI/build-6_treeview-Desktop_Qt_5_1_0_clang_64bit-Debug/mv_tree.app/Contents/MacOS/mv_tree...
dyld: Library not loaded: /Users/bld.qt/bamboo-agent-home/xml-data/build-dir/DQTC-LGPLRELEASEBUILD510-OSX106/______________________________PADDING______________________________/lib/QtWidgets.framework/Versions/5/QtWidgets
Referenced from: /Users/pietro/myProgs/ParamGUI/build-6_treeview-Desktop_Qt_5_1_0_clang_64bit-Debug/mv_tree.app/Contents/MacOS/mv_tree
Reason: image not found
The program has unexpectedly finished.
/Users/pietro/myProgs/ParamGUI/build-6_treeview-Desktop_Qt_5_1_0_clang_64bit-Debug/mv_tree.app/Contents/MacOS/mv_tree exited with code 0
使用调试器启动程序,并在main()的第一条指令处有一个断点,我得到此错误消息(相对于二进制代码位置):
The inferior stopped because it received a signal from the Operating System.
Signal name: SIGTRAP
Signal meaning: Trace/breakpoint trap
我不知道如何解决它。
该示例是一个简单的示例,该示例根据Qt文档创建了树形 View 。
在qmake文件中,我指定:
QT += widgets
错误
Reason: image not found
没有引用位图图像,不是吗?我是不是错了,或者很多人对Qt5有疑问?
平台:Qt 5.1,Mac OS-X 10.7,QtCreator 2.7.2
-新测试-
在相同的环境中:
-“普通C++项目(CMake构建)”可以正常工作。
-“Qt控制台应用程序”具有与本问题中提到的应用程序相同的问题。
---项目源代码---
专业版文件:
QT += core
QT -= gui
TARGET = Qt5Test2
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
main.cpp文件:
#include <QCoreApplication>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
return a.exec();
}
最佳答案
问题是您的Qt文件不在链接器在可执行文件中指定的位置。
检查可执行文件中以下命令的结果:
otool -L /Users/pietro/myProgs/ParamGUI/build-6_treeview-Desktop_Qt_5_1_0_clang_64bit-Debug/mv_tree.app/Contents/MacOS/mv_tree...
它将显示如下内容:
/Users/pietro/myProgs/ParamGUI/build-6_treeview-Desktop_Qt_5_1_0_clang_64bit-Debug/mv_tree.app/Contents/MacOS/mv_tree...:
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 153.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
<CUT OUT>/QtCore.framework/QtCore (compatibility version 5.1.0, current version 5.1.1)
...
依此类推。
您的情况需要
QtWidgets
在此处:/Users/bld.qt/bamboo-agent-home/xml-data/build-dir/DQTC-LGPLRELEASEBUILD510-OSX106/______________________________PADDING______________________________/lib/QtWidgets.framework/Versions/5/QtWidgets
它在那个地方存在吗?如果没有,则将其放在此处,或者使用
install_name_tool
将可执行文件更改为指向正确的位置。在后一种解决方案中,您将必须执行以下操作:
install_name_tool -change /Users/bld.qt/bamboo-agent-home/xml-data/build-dir/DQTC-LGPLRELEASEBUILD510-OSX106/______________________________PADDING______________________________/lib/QtWidgets.framework/Versions/5/QtWidgets <THE PATH TO YOUR QtWidgets> <THE PATH TO YOUR EXECUTABLE>
之后在可执行文件上执行
otool -L
进行确认。然后重新运行该应用程序。