构建简单的Qt5应用程序时出错

kar*_*lip 4 c++ qt build qt-creator qt5

我在Mac OS X 10.7.5上安装了Qt 5.0.0(qt-mac-opensource-5.0.0-clang-offline.dmg),现在我正在尝试使用Qt Creator 2.6编译" Hello World "应用程序. 1.

构建过程抱怨找不到目录:/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/qtbase/lib,然后是几个链接错误:

clang++ -c -pipe -mmacosx-version-min=10.6 -O2 -Wall -W -fPIE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/mkspecs/macx-clang -I. -I/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/include -I/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/include/QtGui -I/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/lib/QtGui.framework/Versions/5/Headers -I/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/include/QtCore -I/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/lib/QtCore.framework/Versions/5/Headers -I. -I/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/System/Library/Frameworks/AGL.framework/Headers -o main.o main.cpp
clang++ -headerpad_max_install_names -mmacosx-version-min=10.6 -o hello_qt.app/Contents/MacOS/hello_qt main.o -F/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/lib -framework QtGui -F/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/qtbase/lib -framework QtCore -framework OpenGL -framework AGL
ld: warning: directory not found for option '-F/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/qtbase/lib'
Undefined symbols for architecture x86_64:
"QApplication::QApplication(int&, char**, int)", referenced from:
_main in main.o
"QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>)", referenced from:
_main in main.o
"QWidget::show()", referenced from:
_main in main.o
"QPushButton::QPushButton(QString const&, QWidget*)", referenced from:
_main in main.o
"QApplication::exec()", referenced from:
_main in main.o
"QPushButton::~QPushButton()", referenced from:
_main in main.o
"QLabel::~QLabel()", referenced from:
_main in main.o
"QApplication::~QApplication()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [hello_qt.app/Contents/MacOS/hello_qt] Error 1
Run Code Online (Sandbox Code Playgroud)

请注意,路径/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/qtbase/lib无效是很重要的,因为目录qtbase不存在.工作路径是/Users/karlphillip/Qt5.0.0/5.0.0/clang_64/lib.我不是指qtbase我项目中的任何地方,所以这可能是由qmake添加的.

kar*_*lip 11

事实证明,无效qtbase路径事实上是QTBUG-28336最初报告的Qt错误.

链接问题是由于我的项目没有与QtWidgets链接,这是我们在Qt5开始要做的事情.这是通过在.pro文件中添加以下行来完成的:

QT += widgets
Run Code Online (Sandbox Code Playgroud)