2014-03-03 67 views
1

我在Mac 10.9.1上设置Qt环境时出现问题。如果我只是试着用标准的在Mac上找不到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

[这](http://stackoverflow.com/questions/19756694/qt-5-and-os-x-mavericks-issues)可能是有用的;-) –

+0

那么,以前的版本是否与小牛队兼容?我刚刚四处寻找,找不到太多。另外,它并没有说如何删除我已经安装的Qt版本。问题。 – nickcorin

+0

小牛由Qt 5.2.1支持。你已经安装了哪个XCode,并且你是否安装了XCode CLI工具? –

回答

1

小牛肯定支持Qt 5.目前为止,Qt 4并不支持它; trojanfoe在他的评论中犯了一个错字(nomen est omen?)。

您的错误是使用了错误的make规格。 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文件夹中。要建立,这样做:用-project参数调用QMAKE

~/Qt5.2.1/5.2.1/clang_64/bin/qmake -spec macx-clang 
make 

你不想重新生成.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"); 
} 
+0

@nickcorin什么“脚本”不能运行?你的意思是你不能运行可执行文件?那么,你只需要给出可执行文件的完整路径。它位于.app包中。如果这些是控制台项目,那么您必须编辑.pro文件以使其成为可能。 –

+0

是的,我们现在开始很小,所以目前我们正在制作一个或两个QMessageBox的控制台项目。 – nickcorin

+0

看来有些图书馆仍然无法找到。 QString和QTextStream工作正常,但例如QApplication无法找到,QMessageBox或QWidgets也无法找到。 – nickcorin