注意:与this问题相同,但适用于其他IDE
我正在尝试在 Qt Creator IDE中编译我的Qt项目但是当我点击构建时,它会显示:
此文件需要编译器和库支持\ 对于ISO C ++ 2011标准。必须启用此支持 使用-std = c ++ 11或-std = gnu ++ 11编译器选项。
当我去Project - >构建和运行 - >构建步骤 - >其他参数并添加-std=c++11
并再次编译,我在Compile输出中得到了这个:
11:45:37:项目Youtube-dl-gui的运行步骤...
11:45:37:开始:“/ usr / lib / x86_64-linux-gnu / qt5 / bin / qmake”/home/fabio/criação/Youtube-dl-gui/Youtube-dl-gui.pro-r -spec linux-g ++ - 64 CONFIG + = debug -std = c ++ 11
用法:/ usr / lib / x86_64-linux-gnu / qt5 / bin / qmake [mode] [options] [files]
...
[这里显示了更多用法选项]
...
***未知选项-std = c ++ 11
11:45:37:进程“/ usr / lib / x86_64-linux-gnu / qt5 / bin / qmake”退出代码1.
构建/部署项目Youtube-dl-gui时出错(工具包:桌面) 执行步骤“qmake”时 11:45:37:经过的时间:00:00。
在我的MakeFile配置文件中:
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = Youtube-dl-gui
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
QMAKE_CXXFLAGS += '-std=c++11'
我已经尝试过在这些主题中提出的内容:
Adding -std=c++11 to compiler options in Anjuta 3.4.3
Qmake doesn't use stdc++11 compilation flag
更新
CONFIG += c++11
无效/usr/bin/g++
,如果我运行/usr/bin/g++ --version
,则返回 5.4.0 20160609 更新2
我认为我的gcc支持c ++ 11,因为在NetBeans中我可以使用相同的/usr/bin/g++
二进制文件在c ++ 11标准中构建和运行程序。
正如编译输出所示,正在运行的命令是"/usr/lib/x86_64-linux-gnu/qt5/bin/qmake" /home/fabio/criação/Youtube-dl-gui/Youtube-dl-gui.pro -r -spec linux-g++-64 CONFIG+=debug -std=c++11
,似乎我的qmake version 3.0
不支持c ++ 11,我想
答案 0 :(得分:3)
如此处http://doc.qt.io/qt-5/qmake-variable-reference.html所述,您应在.pro文件中添加CONFIG += c++11
答案 1 :(得分:1)
只需删除-std = c ++ 11附近的撇号。
# conn1 and conn2 - previously opened connections "to" and "from"
t1 = threading.Thread(target=CopyProxy, args=[conn1, conn2])
t2 = threading.Thread(target=CopyProxy, args=[conn2, conn1])
t1.start()
t2.start()
应该是
QMAKE_CXXFLAGS += '-std=c++11'