2016-09-05 3 views
1

Ich verwendete Qt 5.7 und gcc 4.9.2. Qt Core-Modul werfen Qt requires C++11 support Fehler.Qt erfordert C++ 11 Unterstützung

This page sagen, dass

gcc 4.9.2 Qt zu kompilieren schlägt fehl.

Also ich installiert gcc 4.8. Ich überprüfe mit Befehl unten am Terminal:

$ g++ --version 
g++ (Ubuntu 4.8.4-1ubuntu15) 4.8.4 

Mein Kit verwendet cmake nicht qmake. Ich füge CMakeLists-txt TARGET_LINK_LIBRARIES (xxxx yyyy /usr/bin/c++ -std=c++11 hinzu.

Ich starte meinen PC neu und führe meine Anwendung erneut aus. Derselbe Fehler wird geworfen.

/opt/Qt/5.7/gcc_64/include/QtCore/qbasicatomic.h:61: error: #error "Qt requires C++11 support" 
# error "Qt requires C++11 support" 
    ^

Wie kann ich es lösen?

+0

Haben Sie versucht, unter Verwendung von C++ 11 (zum Beispiel Compiler-Flags)? – ray

+0

@ray Ich füge TARGET_LINK_LIBRARIES hinzu (xxxx yyyy/usr/bin/C++ -std = C++ 11 zu CMakeLists.txt Datei – zumma

+0

Ah, tut mir leid, ich muss den Teil bei meinem ersten Blick auf den Beitrag verpasst haben. – ray

Antwort

0

Schalten C++ 11 auf ausdrücklich:

  1. set(CMAKE_CXX_FLAGS "-std=c++11" CACHE STRING "compile flags" FORCE) nach project(...) Erklärung.
  2. add_library(MyLib SHARED ${PROJECT_HEADERS} ${PROJECT_SOURCES}) ... set_property(TARGET MyLib PROPERTY CXX_STANDARD 11) set_property(TARGET MyLib PROPERTY CXX_STANDARD_REQUIRED ON)
0

Lösung war für mich (in der .pro-Datei):

QMAKE_CXXFLAGS += -stdlib=libc++ 
QMAKE_CXXFLAGS += -std=c++11 
QMAKE_CXXFLAGS += -mmacosx-version-min=10.7 
QMAKE_LFLAGS += -mmacosx-version-min=10.7 
0

Es ist eine Weile gewesen ist. Wie ich es endlich lösen anzeigt, in CMakeLists.txt die folgende Zeile unmittelbar nach project(MyProject):

add_compile_options(-std=c++11) 

Das zu cmake sagt, erstellen Makefile, die C++ 11 die Lösung der Probleme verwenden.

Verwandte Themen