我在Mac 10.9.1上设置Qt环境时遇到问题。如果我只是尝试使用标准
g++ source.cpp -o output编译C ++文件,那么找不到任何Qt库。例如,如果我有
#include <QString>
然后我会收到错误
fatal error: 'QString' file not found
我已经安装了Qt 5.2.1并将其添加到我的PATH变量中,所以现在当我使用
qmake -project, qmake -spec macx-g++ and then make
进行项目时
我收到错误消息,说我的Mac OSX版本不受支持。我必须使用Qt进行大学任务,请有人帮我设置。
任何帮助都将不胜感激。
答案 0 :(得分:1)
Qt 5绝对支持小牛队。到目前为止,Qt 4并不支持小牛队。特洛伊福福在评论中写了一个错字(nomen est omen?)。
你的错误是使用了错误的make spec。 Qt 5使用clang,而不是gcc。因此以下适用于我(没有设置任何路径):
~/Qt5.2.1/5.2.1/clang_64/bin/qmake -project
~/Qt5.2.1/5.2.1/clang_64/bin/qmake -spec macx-clang
make
您可以并排存在多个Qt版本,当您安装新的Qt版本时,没有理由卸载任何内容。
下面是一个小小的独立示例。将其放在simple
文件夹中。要建立,请执行:
~/Qt5.2.1/5.2.1/clang_64/bin/qmake -spec macx-clang
make
您不希望通过使用-project
参数调用qmake来重新生成.pro文件。项目生成只是为了给你一个简单的框架,你只能在导入第三方代码时这样做。
如果使用任何可见的GUI元素(窗口,消息框等),请注意按照定义,就Qt而言,它不再是控制台应用程序。
# simple.pro
TEMPLATE = app
QT += widgets
# Creates a simple executable instead of an app bundle
CONFIG -= app_bundle
SOURCES += main.cpp
// main.cpp
#include <QApplication>
#include <QMessageBox>
int main(int argc, char ** argv)
{
// It is an error not to have an instance of QApplication.
// This implies that having an instance of QCoreApplication and QGuiApplication
// is also an error.
QApplication app(argc, argv);
QMessageBox::information(NULL, "Get This!", "Something's going on");
}