我安装了Qt,并尝试在QtCreator中构建模板项目(Qt4 Gui Application)。我不知道为什么会出现这些错误。

正在运行项目SourceControl的构建步骤...
配置不变,跳过QMake步骤。
开始:/ usr / bin / make -w
make:进入目录`/ Users / jason / SourceControl'
g ++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I / usr / local / Qt4.5 / mkspecs / macx-g ++ -I。 -I / Library / Frameworks / QtCore.framework / Versions / 4 / Headers -I / usr / include / QtCore -I / Library / Frameworks / QtNetwork.framework / Versions / 4 / Headers -I / usr / include / QtNetwork -I /Library/Frameworks/QtGui.framework/Versions/4/Headers -I / usr / include / QtGui -I / usr / include -I。 -一世。 -F /库/框架-o main.o main.cpp
在/Library/Frameworks/QtCore.framework/Headers/qnamespace.h:45中包含的文件中,
来自/Library/Frameworks/QtCore.framework/Headers/qobjectdefs.h:45,
来自/Library/Frameworks/QtCore.framework/Headers/qobject.h:47,
来自/Library/Frameworks/QtCore.framework/Headers/qcoreapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/qapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/QApplication:1,
来自main.cpp:1:
/Library/Frameworks/QtCore.framework/Headers/qglobal.h:297:34:错误:AvailabilityMacros.h:无此类文件或目录
在/Library/Frameworks/QtCore.framework/Headers/qstring.h:46包含的文件中,
来自/Library/Frameworks/QtCore.framework/Headers/qobject.h:48,
来自/Library/Frameworks/QtCore.framework/Headers/qcoreapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/qapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/QApplication:1,
来自main.cpp:1:
/Library/Frameworks/QtCore.framework/Headers/qbytearray.h:48:20:错误:string.h:无此类文件或目录
在/Library/Frameworks/QtCore.framework/Headers/qobject.h:48中包含的文件中,
来自/Library/Frameworks/QtCore.framework/Headers/qcoreapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/qapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/QApplication:1,
来自main.cpp:1:
/Library/Frameworks/QtCore.framework/Headers/qstring.h:60:22:错误:string:没有这样的文件或目录
在/Library/Frameworks/QtCore.framework/Headers/qobject.h:50中包含的文件中,
来自/Library/Frameworks/QtCore.framework/Headers/qcoreapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/qapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/QApplication:1,
来自main.cpp:1:
/Library/Frameworks/QtCore.framework/Headers/qlist.h:50:20:错误:迭代器:没有此类文件或目录
/Library/Frameworks/QtCore.framework/Headers/qlist.h:51:16:错误:列表:没有这样的文件或目录
/Library/Frameworks/QtCore.framework/Headers/qlist.h:54:15:错误:新:没有此类文件或目录
在/Library/Frameworks/QtGui.framework/Headers/qbrush.h:47中包含的文件中,
来自/Library/Frameworks/QtGui.framework/Headers/qpalette.h:47,
来自/Library/Frameworks/QtGui.framework/Headers/qwidget.h:48,
来自/Library/Frameworks/QtGui.framework/Headers/qmainwindow.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/QMainWindow:1,
来自mainwindow.h:4,
来自main.cpp:2:
/Library/Frameworks/QtCore.framework/Headers/qvector.h:52:18:错误:向量:没有这样的文件或目录
/Library/Frameworks/QtCore.framework/Headers/qvector.h:54:20:错误:stdlib.h:无此类文件或目录
在/Library/Frameworks/QtCore.framework/Headers/qstring.h:46包含的文件中,
来自/Library/Frameworks/QtCore.framework/Headers/qobject.h:48,
来自/Library/Frameworks/QtCore.framework/Headers/qcoreapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/qapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/QApplication:1,
来自main.cpp:1:
/Library/Frameworks/QtCore.framework/Headers/qbytearray.h:在函数'uint qstrlen(const char *)'中:
/Library/Frameworks/QtCore.framework/Headers/qbytearray.h:68:错误:在此范围内未声明“ strlen”
/Library/Frameworks/QtCore.framework/Headers/qbytearray.h:在函数'int qstrncmp(const char *,const char *,uint)'中:
/Library/Frameworks/QtCore.framework/Headers/qbytearray.h:91:错误:未在此范围内声明'strncmp'
/Library/Frameworks/QtCore.framework/Headers/qbytearray.h:在函数“布尔运算符==(const QByteArray&,const QByteArray&)”中:
/Library/Frameworks/QtCore.framework/Headers/qbytearray.h:502:错误:在此范围内未声明“ memcmp”
在/Library/Frameworks/QtCore.framework/Headers/qobject.h:48中包含的文件中,
来自/Library/Frameworks/QtCore.framework/Headers/qcoreapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/qapplication.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/QApplication:1,
来自main.cpp:1:
/Library/Frameworks/QtCore.framework/Headers/qstring.h:在全局范围内:
/Library/Frameworks/QtCore.framework/Headers/qstring.h:65:错误:“ QList :: fromStdList()”之前的预期初始化程序:
/Library/Frameworks/QtCore.framework/Headers/qlist.h:316:错误:在此范围内未声明“列表”
/Library/Frameworks/QtCore.framework/Headers/qlist.h:316:错误:“ back_inserter”不是“ std”的成员
在/Library/Frameworks/QtGui.framework/Headers/qbrush.h:47中包含的文件中,
来自/Library/Frameworks/QtGui.framework/Headers/qpalette.h:47,
来自/Library/Frameworks/QtGui.framework/Headers/qwidget.h:48,
来自/Library/Frameworks/QtGui.framework/Headers/qmainwindow.h:45,
来自/Library/Frameworks/QtGui.framework/Headers/QMainWindow:1,
来自mainwindow.h:4,
来自main.cpp:2:
/Library/Frameworks/QtCore.framework/Headers/qvector.h:在全球范围内:
/Library/Frameworks/QtCore.framework/Headers/qvector.h:293:错误:在'QVector :: fromStdVector()'之前预期的不合格ID:
/Library/Frameworks/QtCore.framework/Headers/qvector.h:294:错误:未在此范围内声明“向量”
/Library/Frameworks/QtCore.framework/Headers/qvector.h:294:错误:“ back_inserter”不是“ std”的成员
/Library/Frameworks/QtCore.framework/Headers/qvector.h:在构造函数'QVector :: QVector(int)[with T = QPoint]'中:
/Library/Frameworks/QtGui.framework/Headers/qpolygon.h:93:从此处实例化
/Library/Frameworks/QtCore.framework/Headers/qvector.h:397:错误:没有匹配的函数可用于调用'operator new(long unsigned int,QPoint *&)'
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:在构造函数'QVector :: QVector(int)[with T = QPointF]'中:
/Library/Frameworks/QtGui.framework/Headers/qpolygon.h:152:从此处实例化
/Library/Frameworks/QtCore.framework/Headers/qvector.h:397:错误:没有匹配的函数可用于调用'operator new(long unsigned int,QPointF *&)'
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qlist.h:在成员函数'void QList :: node_construct(QList :: Node *,const T&)[with T = QString]'中:
/Library/Frameworks/QtCore.framework/Headers/qlist.h:426:从“ void QList :: append(const T&)[with T = QString]实例化”
/Library/Frameworks/QtCore.framework/Headers/qstringlist.h:70:从此处实例化
/Library/Frameworks/QtCore.framework/Headers/qlist.h:341:错误:没有匹配的函数可用于调用'operator new(long unsigned int,QList :: Node *&)'
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qlist.h:在成员函数'void QList :: node_copy(QList :: Node *,QList :: Node *,QList :: Node *)[with T = QString]' :
/Library/Frameworks/QtCore.framework/Headers/qlist.h:618:从“ QList&QList :: operator + =(const QList&)[with T = QString]实例化”
/Library/Frameworks/QtCore.framework/Headers/qstringlist.h:85:从此处实例化
/Library/Frameworks/QtCore.framework/Headers/qlist.h:360:错误:没有匹配的函数可用于调用'operator new(long unsigned int,QList :: Node *)'
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:在成员函数'void QVector :: realloc(int,int)[with T = QPoint]'中:
/Library/Frameworks/QtCore.framework/Headers/qvector.h:315:从“ void QVector :: detach_helper()[带有T = QPoint]实例化”
/Library/Frameworks/QtCore.framework/Headers/qvector.h:113:从“ QVector :: QVector(const QVector&)[with T = QPoint]实例化”
/Library/Frameworks/QtGui.framework/Headers/qpolygon.h:66:从此处实例化
/Library/Frameworks/QtCore.framework/Headers/qvector.h:444:错误:没有匹配函数可用于调用“ operator new(long unsigned int,QPoint *&)”
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:484:错误:没有匹配函数可用于调用“ operator new(long unsigned int,QPoint *&)”
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:491:错误:没有匹配的函数可以调用'operator new(long unsigned int,QPoint *&)'
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:在成员函数'void QVector :: realloc(int,int)[with T = QPointF]'中:
/Library/Frameworks/QtCore.framework/Headers/qvector.h:315:从'void QVector :: detach_helper()[with T = QPointF]实例化
/Library/Frameworks/QtCore.framework/Headers/qvector.h:113:从“ QVector :: QVector(const QVector&)[with T = QPointF]实例化”
/Library/Frameworks/QtGui.framework/Headers/qpolygon.h:131:从此处实例化
/Library/Frameworks/QtCore.framework/Headers/qvector.h:444:错误:没有匹配的函数可用于调用“ operator new(long unsigned int,QPointF *&)”
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:484:错误:没有匹配函数可用于调用“ operator new(long unsigned int,QPointF *&)”
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:491:错误:没有匹配的函数可用于调用'operator new(long unsigned int,QPointF *&)'
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:在成员函数'void QVector :: realloc(int,int)[with T = QPainterPath :: Element]'中:
/Library/Frameworks/QtCore.framework/Headers/qvector.h:315:从“ void QVector :: detach_helper()[带有T = QPainterPath :: Element]实例化”
/Library/Frameworks/QtCore.framework/Headers/qvector.h:129:从“ void QVector :: detach()[带有T = QPainterPath :: Element]实例化”
/Library/Frameworks/QtCore.framework/Headers/qvector.h:228:从“ T * QVector :: begin()[带有T = QPainterPath :: Element]实例化”
/Library/Frameworks/QtCore.framework/Headers/qvector.h:241:从“ T&QVector :: first()[带有T = QPainterPath :: Element]实例化”
/Library/Frameworks/QtGui.framework/Headers/qpainterpath.h:370:从此处实例化
/Library/Frameworks/QtCore.framework/Headers/qvector.h:444:错误:没有匹配的函数可用于调用'operator new(long unsigned int,QPainterPath :: Element *&)'
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:315:从“ void QVector :: detach_helper()[带有T = QPainterPath :: Element]实例化”
/Library/Frameworks/QtCore.framework/Headers/qvector.h:129:从“ void QVector :: detach()[带有T = QPainterPath :: Element]实例化”
/Library/Frameworks/QtCore.framework/Headers/qvector.h:228:从“ T * QVector :: begin()[带有T = QPainterPath :: Element]实例化”
/Library/Frameworks/QtCore.framework/Headers/qvector.h:241:从“ T&QVector :: first()[带有T = QPainterPath :: Element]实例化”
/Library/Frameworks/QtGui.framework/Headers/qpainterpath.h:370:从此处实例化
/Library/Frameworks/QtCore.framework/Headers/qvector.h:484:错误:没有匹配的函数可用于调用'operator new(long unsigned int,QPainterPath :: Element *&)'
:0:注意:候选者是:void *运算符new(long unsigned int)
/Library/Frameworks/QtCore.framework/Headers/qvector.h:491:错误:没有匹配函数可用于调用'operator new(long unsigned int,QPainterPath :: Element *&)'
:0:注意:候选者是:void *运算符new(long unsigned int)
make:*** [main.o]错误1
make:离开目录`/ Users / jason / SourceControl'
以代码2退出。
构建项目SourceControl时出错
执行构建步骤“ Make”时

最佳答案

我不确定,但是我想您应该关注第一个错误,即它无法找到AvailabilityMacros.h。我认为应该在/ usr / include中,但我猜可能不是,因为您的编译行清楚地将其显示为include路径之一。

如果不存在,您可以尝试在命令行上使用find找出其所在位置。

find /usr -name AvailabilityMacros.h


或Mac上可用的任何GUI方法(您可以知道我对MacOS并不熟悉:)。顺便说一句,如果上面的find命令没有产生任何结果,则可以将搜索范围从/usr扩展到/



针对您发布的find结果:

您是否要针对MacOSX10.5.sdk构建应用程序?如果不是,那么我认为这不是您想要的版本。如果使用的是10.5 SDK,则需要将QMAKE_MAC_SDK qmake变量设置为/Developer/SDKs/MacOSX10.5.sdk。您可以在项目文件中执行此操作,也可以在“项目”->“构建”步骤中将其设置为qmake的附加参数。

关于macos - 无法在雪豹上使用Qt构建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1478671/

10-12 13:26