【发布时间】:2015-08-12 09:31:41
【问题描述】:
我正在用我自己的 GNU makefile 编译一个 QTGUI 应用程序(版本 4)。当我在 gcc 编译器中使用 C++03 标准时,一切正常。
现在我需要 C++11 标准并得到错误:
无法找到字符串文字操作符'operator"" __ FILE__'"
在我的 window.cpp 中的以下几行
connect(ui->myGLWidget, SIGNAL(xRotationChanged(int)), ui->rotXSlider, SLOT(setValue(int)));
connect(ui->myGLWidget, SIGNAL(yRotationChanged(int)), ui->rotYSlider, SLOT(setValue(int)));
connect(ui->myGLWidget, SIGNAL(zRotationChanged(int)), ui->rotZSlider, SLOT(setValue(int)));
我尝试使用 UIC 版本 4 和 5 编译我的 .ui 文件,但没有任何改变。每当使用 Qbject::connect(.....) 时,UIC 的结果 ui_window.h 都会出现相同的错误。
我不能回到旧的 C++ 标准,两个 UIC 编译器都会生成相同的 ui_window.h 文件。
我怎样才能摆脱它?
【问题讨论】:
-
信息不足。提供更多代码和编译器错误行。另外,什么版本的 qt - 4 或 5? 3 周前将 qt4 从
c++03移动到c++11时,我们没有任何代码更改,所以 @Steve 我猜你错了。以我的经验,qt4 和 qt5 项目都可以用 c++03 和 c++11 编译,无需更改源代码。 -
@VictorPolevoy 糟糕,我在考虑 Boost... :)
-
这有帮助吗? How to use C++11 with Qt
-
@VictorPolevoy Qt 4 不支持
CONFIG += c++11。见stackoverflow.com/a/30031564/2013738 -
Qt Creator 是一个 IDE。在大多数不直接引用 IDE 的 SO 问题中提到它是完全没有必要和没有根据的。