【发布时间】:2013-07-17 13:13:56
【问题描述】:
首先,我知道还有其他帖子在谈论这个错误,但我认为我的有点不同。
我有一个带有这个 pro 文件的 Qt 项目:
QT += core
QT += network
QT -= gui
TARGET = QDownloaderCLI
CONFIG += console
CONFIG -= app_bundle
TEMPLATE ...
我尝试了CONFIG -= X86_64,但没有任何改变。
在网上搜索我发现了一些奇怪的东西,我有一个带有公共槽的 .h 文件,他的实现在 .cpp 文件中:
public slots:
void stateChanged(int state);
有了这个,我收到了错误消息,但如果我在 .h 和 .cpp 中评论 void stateChanged(int state); 就可以了。
我该如何解决这个问题?
我也有警告:
directory not found for option '-F/Applications/Qt//5.1.0/clang_64/qtbase/lib'
和
"This version of OS X is unsupported" [-W#warnings]
我也尝试过“运行 qMake”,但我也收到了警告:
No .qmake.cache is present. This significantly slows down qmake with this makespec.
Call 'cache()' in the top-level project file to rectify this problem.
我使用的是带有 Qt 5.1.0 的 Mac OS X 10.8.4
我的 .h 文件的代码:
#ifndef DOWNLOADER_H
#define DOWNLOADER_H
#include <QObject>
#include <QDebug>
#include <QFile>
// In Qt 5 no more QHttp
#include <QNetworkAccessManager>
class downloader : public QObject
{
Q_OBJECT
public:
explicit downloader(QObject *parent = 0);
void doDownload();
signals:
public slots:
void stateChanged(int state);
private:
QNetworkAccessManager *http;
};
#endif // DOWNLOADER_H
【问题讨论】:
-
您在 stateChanged 函数中使用了任何第三方库吗?
-
这个问题似乎是题外话,因为它是关于一个简单的语法错误
-
@AndrewBarber 问题不在于语法错误。让 OS X 上的 Qt 项目的链接/编译标志正确并非易事。这是我在尝试在 OS X 上构建复杂的 Qt 项目时搜索此特定错误时发现的第一个结果。
标签: macos qt compiler-construction compilation qt5