C++17 unter ubuntu 16.04 in QTCreator



  • Ich versuche in meinem Projekt Features von C++17 zu nutzen (Filesystem Library etc.)

    Habe dazu in meiner main CMakeLists.txt den Eintrag

    ADD_DEFINITIONS(
    -std=gnu++1z
    )

    verwendet.

    Meine Anwendung kompiliert auch und funktioniert, allerdings bekomme ich in QTCreator eine Menge an Fehlern im Code angezeigt, hauptsächlich welche die sagen: no viable conversion from ...

    Woran liegt das? und ist der von mir beschrieben weg richtig um die neuen Features einzubinden?

    Und was beiudetet das z bei der versionsangabe?



  • Wenn du C++17 nutzen möchtest, musst du auch sicherstellen, dass dein Compiler das überhaupt schon kann.

    Man müsste schon den Code sehen, um den Fehler zu finden. Es sieht danach aus, dass Typumwandlungen nicht funktionieren können.



  • me@terminal:~ gcc --version
    gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904

    es kompiliert ja. Meine Frage zielt auch eher darauf ab, zu erfahren, ob der von mir verwendete CMake Befehl korrekt eingesetzt ist und was das z in 1z bedeutet



  • Wie du in https://gcc.gnu.org/projects/cxx-status.html leicht erkennen kannst, wird C++17 erst ab gcc 7 ordentlich unterstützt.

    Als es noch kein C++11 gab, hieß es 0x (geplant irgendwann für die 0er-Jahre), C++14 hieß vor dem offiziellen Standard C++1y und C++17 eben 1z. x,y,z sind halt Platzhalter für eine Ziffer. Ist also ein Zeichen, dass das irgendein Stand vor dem offiziellen C++17 ist.

    In CMake kannst du den Standard setzen entweder durch

    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_CXX_EXTENSIONS OFF) # wenn du ISO-C++17 ohne gnu-Extensions willst
    

    Oder indem du einfach spezielle Features verlangst und CMake selbst rausfinden lässt, welche Flags benötigt werden.



  • vielen Dank für deine Antwort

    Wann wird denn gcc7 verfügbar sein?



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Sewing schrieb:

    vielen Dank für deine Antwort

    Wann wird denn gcc7 verfügbar sein?

    In etwa -9 Monaten.


Anmelden zum Antworten