在Mac上找不到Qt库

时间:2014-03-03 11:52:39

标签: c++ macos qt

我在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进行大学任务,请有人帮我设置。

任何帮助都将不胜感激。

1 个答案:

答案 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");
}