我正在编译非常简单的代码,作为输出我收到错误:
`../untitled6/main.cpp:17:1: error: unable to find string literal operator 'operator"" __FILE__'
connect(&d_t, SIGNAL(timeout()), this, SLOT(doPlay()));`
代码如下:
#include <QObject>
#include <QTimer>
class Test : public QObject
{
Q_OBJECT
public:
explicit Test(QObject *parent = 0) : QObject(parent) {}
void Play()
{
connect(&d_t, SIGNAL(timeout()), this, SLOT(doPlay()));
}
public slots:
void doPlay() {}
private:
QTimer d_t;
};
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Test test;
test.Play();
return a.exec();
}
只有在我的项目中包含c ++ 11支持才会发生。没有这种支持,编译就是Okey。我已经阅读了gcc ver的用户定义文字和空格。 4.7包含c ++ 11支持时。但我的代码不包含任何 FILE 代码....我发现问题与SIGNAL和SLOT结构有关。但我不知道这里有什么问题...... 附:对于编译,我使用sh4-linux-g ++(GCC)4.8。
我发现发布版本配置没有发现此问题。这似乎是调试构建配置的问题......