首先,我知道還有其他人在討論這個錯誤,但我認爲它有點不同。在架構x86_64中未找到Qt5「符號」
我有一個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項目。 –