Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. German
  4. Fehler mit Standardkonstruktor in qmutex.h

Fehler mit Standardkonstruktor in qmutex.h

Scheduled Pinned Locked Moved Unsolved German
18 Posts 4 Posters 1.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    makopo
    wrote on 28 Sept 2021, 13:27 last edited by makopo
    #1

    Hallo,

    in VS 2019 erhalte ich mit der Implementierung von QMutex die folgende Fehlermeldung.

    "E2422 Der Standardwert des Standardkonstruktors kann nicht constexpr sein, da der entsprechende implizit deklarierte Standardkonstruktor nicht constexpr wäre"

    Der Fehler soll in der Datei qmutex.h in Zeile 133 stehen. Das Programm lässt sich damit normal kompilieren, allerdings verhält es sich nicht so wie es soll und es könnte sein, das der QMutex der Grund ist.

    Ich vermute auch mal das die Ursache hierfür eine tieferliegende ist.

    Weiß jemand Rat?

    J 1 Reply Last reply 28 Sept 2021, 13:30
    0
    • M makopo
      28 Sept 2021, 13:27

      Hallo,

      in VS 2019 erhalte ich mit der Implementierung von QMutex die folgende Fehlermeldung.

      "E2422 Der Standardwert des Standardkonstruktors kann nicht constexpr sein, da der entsprechende implizit deklarierte Standardkonstruktor nicht constexpr wäre"

      Der Fehler soll in der Datei qmutex.h in Zeile 133 stehen. Das Programm lässt sich damit normal kompilieren, allerdings verhält es sich nicht so wie es soll und es könnte sein, das der QMutex der Grund ist.

      Ich vermute auch mal das die Ursache hierfür eine tieferliegende ist.

      Weiß jemand Rat?

      J Online
      J Online
      jsulm
      Lifetime Qt Champion
      wrote on 28 Sept 2021, 13:30 last edited by
      #2

      @makopo Wo in deinem Code ist der Ursprung dieser Warnung? Kannst du die entsprächende Stelle im Code zeigen?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      M 1 Reply Last reply 28 Sept 2021, 13:44
      0
      • J jsulm
        28 Sept 2021, 13:30

        @makopo Wo in deinem Code ist der Ursprung dieser Warnung? Kannst du die entsprächende Stelle im Code zeigen?

        M Offline
        M Offline
        makopo
        wrote on 28 Sept 2021, 13:44 last edited by makopo
        #3

        @jsulm
        Der Fehler wird nicht gemeldet, wenn ich alles was mit QMutex zu tun hat auskommentiere (also vor allem QMutex nicht inkludiere). EDIT: Das der Fehler nicht angezeigt wird wenn ich QMutex nicht einbinde ist ja normal. Habe ich gerade selbst gemerkt.. Knoten im Kopf^^

        Hier ein Ausschnitt wie es vor dem Auskommentieren aussah:

        // .h
        #include <QMutex>
        #include <QMutexLocker>
        
        class Threading : public QObject, public QOpenGLWidget {
        Q_Object
        
        public:
        Threading(QObject* parent);
        
        void paintWindow();
        
        private:
            QMutex  m_mutex;
        };
        
        // .cpp
        Threading::Threading(QObject* parent)  {
            qRegisterMetaType<CComPtr<IDeckLinkVideoFrame>>("CComPtr<IDeckLinkVideoFrame>");
            //Initializing GLEW
        	if (glewInit() != S_OK)  
        		qDebug() << "Initializing GLEW does not work.";
        
        	//Initializing Screen Preview Helper
        	ScreenPreviewHelperInstance(m_previewHelper);
        }
        
        void Threading::paintWindow() {
        if (m_previewHelper != nullptr) {
            QMutexLocker(&m_mutex);
            m_previewHelper->PaintGL();
            qDebug() << "VideoScreen: paintGL was called.";
            }
        }
        
        1 Reply Last reply
        0
        • J Offline
          J Offline
          JoeCFD
          wrote on 28 Sept 2021, 14:25 last edited by
          #4

          Hast Du so was in app.pro?
          CONFIG += c++17
          oder in CMakeLists.txt
          set(CMAKE_CXX_STANDARD 17)

          M 1 Reply Last reply 28 Sept 2021, 14:38
          0
          • J JoeCFD
            28 Sept 2021, 14:25

            Hast Du so was in app.pro?
            CONFIG += c++17
            oder in CMakeLists.txt
            set(CMAKE_CXX_STANDARD 17)

            M Offline
            M Offline
            makopo
            wrote on 28 Sept 2021, 14:38 last edited by makopo
            #5

            @JoeCFD
            Nein, das habe ich in der .pro stehen:
            CONFIG += debug

            EDIT: Wenn ich CONFIG c++17 zuweise, ändert das auch leider nichts an der Situation.

            J 1 Reply Last reply 28 Sept 2021, 14:45
            0
            • M makopo
              28 Sept 2021, 14:38

              @JoeCFD
              Nein, das habe ich in der .pro stehen:
              CONFIG += debug

              EDIT: Wenn ich CONFIG c++17 zuweise, ändert das auch leider nichts an der Situation.

              J Offline
              J Offline
              JoeCFD
              wrote on 28 Sept 2021, 14:45 last edited by
              #6

              @makopo Es ist besser, das zu haben.
              https://forum.qt.io/topic/111793/how-to-resolve-error-of-qmutex-h/17

              M 1 Reply Last reply 28 Sept 2021, 15:26
              1
              • J JoeCFD
                28 Sept 2021, 14:45

                @makopo Es ist besser, das zu haben.
                https://forum.qt.io/topic/111793/how-to-resolve-error-of-qmutex-h/17

                M Offline
                M Offline
                makopo
                wrote on 28 Sept 2021, 15:26 last edited by makopo
                #7

                @JoeCFD

                Es ist kurios auf eine noch ältere Version als 5.15.1. zurückzugehen.
                Bei der Version 6.1.2. sieht es mit den Fehlermeldungen zu diversen .h- Dateien allerdings noch schlimmer aus.

                1 Reply Last reply
                0
                • C Offline
                  C Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on 28 Sept 2021, 16:17 last edited by
                  #8

                  Qt 6.1.2 kann definitiv mit MSVC2019 ohne Fehler kompiliert werden - da ist irgendwas in deiner Config falsch. Was für eine MSVC-Version hast Du genau?

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  M 1 Reply Last reply 29 Sept 2021, 07:57
                  0
                  • C Christian Ehrlicher
                    28 Sept 2021, 16:17

                    Qt 6.1.2 kann definitiv mit MSVC2019 ohne Fehler kompiliert werden - da ist irgendwas in deiner Config falsch. Was für eine MSVC-Version hast Du genau?

                    M Offline
                    M Offline
                    makopo
                    wrote on 29 Sept 2021, 07:57 last edited by
                    #9

                    @Christian-Ehrlicher
                    MSVC2019 64Bit

                    Es gibt Meldungen zu Fehlern in den Dateien qmutex.h, qproperties.h und qmetatype.h

                    Das ist die Config der .pro Datei

                    TEMPLATE = app
                    TARGET = VideoMeter
                    DESTDIR = ./x64/Debug
                    CONFIG += c++17
                    LIBS += -L"."
                    DEPENDPATH += .
                    MOC_DIR += .
                    OBJECTS_DIR += debug
                    UI_DIR += .
                    RCC_DIR += .
                    HEADERS += ./qvideometer.h
                    SOURCES += ./qvideometer.cpp \
                        ./main.cpp
                    FORMS += ./qvideometer.ui
                    RESOURCES += qvideometer.qrc
                    QT += widgets
                    QT += gui
                    QT += core
                    
                    1 Reply Last reply
                    0
                    • C Offline
                      C Offline
                      Christian Ehrlicher
                      Lifetime Qt Champion
                      wrote on 29 Sept 2021, 14:12 last edited by
                      #10

                      @makopo said in Fehler mit Standardkonstruktor in qmutex.h:

                      MSVC2019 64Bit

                      Das weiß ich schon. Ich wollte die exakte Version.

                      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                      Visit the Qt Academy at https://academy.qt.io/catalog

                      M 1 Reply Last reply 30 Sept 2021, 06:37
                      0
                      • C Christian Ehrlicher
                        29 Sept 2021, 14:12

                        @makopo said in Fehler mit Standardkonstruktor in qmutex.h:

                        MSVC2019 64Bit

                        Das weiß ich schon. Ich wollte die exakte Version.

                        M Offline
                        M Offline
                        makopo
                        wrote on 30 Sept 2021, 06:37 last edited by
                        #11

                        @Christian-Ehrlicher

                        6.1.2-0-202106290506

                        Versionsnummer laut Qt Installer. Ich wüsste auch sonst nicht wodran ich die extakte Version erkennen kann...

                        J 1 Reply Last reply 30 Sept 2021, 06:42
                        0
                        • M makopo
                          30 Sept 2021, 06:37

                          @Christian-Ehrlicher

                          6.1.2-0-202106290506

                          Versionsnummer laut Qt Installer. Ich wüsste auch sonst nicht wodran ich die extakte Version erkennen kann...

                          J Online
                          J Online
                          jsulm
                          Lifetime Qt Champion
                          wrote on 30 Sept 2021, 06:42 last edited by
                          #12

                          @makopo Es ging doch um die Visual Studio Version nicht Qt Version? Die sollte man in Visual Studio finden können.
                          "Was für eine MSVC-Version hast Du genau?".

                          https://forum.qt.io/topic/113070/qt-code-of-conduct

                          M 1 Reply Last reply 30 Sept 2021, 06:55
                          0
                          • J jsulm
                            30 Sept 2021, 06:42

                            @makopo Es ging doch um die Visual Studio Version nicht Qt Version? Die sollte man in Visual Studio finden können.
                            "Was für eine MSVC-Version hast Du genau?".

                            M Offline
                            M Offline
                            makopo
                            wrote on 30 Sept 2021, 06:55 last edited by
                            #13

                            @jsulm

                            Ok, ich dachte es geht um die Version des Compilers.
                            Ich nutze Visual Studio 16.10.2.

                            J 1 Reply Last reply 30 Sept 2021, 06:59
                            0
                            • M makopo
                              30 Sept 2021, 06:55

                              @jsulm

                              Ok, ich dachte es geht um die Version des Compilers.
                              Ich nutze Visual Studio 16.10.2.

                              J Online
                              J Online
                              jsulm
                              Lifetime Qt Champion
                              wrote on 30 Sept 2021, 06:59 last edited by
                              #14

                              @makopo said in Fehler mit Standardkonstruktor in qmutex.h:

                              ich dachte es geht um die Version des Compilers

                              Ist richtig, wobei diese von der Visual Studio version abgeleitet werden kann, wenn ich mich nicht irre.

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              0
                              • C Offline
                                C Offline
                                Christian Ehrlicher
                                Lifetime Qt Champion
                                wrote on 30 Sept 2021, 15:25 last edited by
                                #15

                                16.10.2 ist der aktuellste MSVC compiler.
                                Bitte erzeuge ein neues Qt-Projekt und in der main.cpp inkludierst Du nur QMutex und schau ob es kompiliert.

                                Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                Visit the Qt Academy at https://academy.qt.io/catalog

                                M 1 Reply Last reply 1 Oct 2021, 07:11
                                0
                                • C Christian Ehrlicher
                                  30 Sept 2021, 15:25

                                  16.10.2 ist der aktuellste MSVC compiler.
                                  Bitte erzeuge ein neues Qt-Projekt und in der main.cpp inkludierst Du nur QMutex und schau ob es kompiliert.

                                  M Offline
                                  M Offline
                                  makopo
                                  wrote on 1 Oct 2021, 07:11 last edited by
                                  #16

                                  @Christian-Ehrlicher
                                  Ich bin wirklich verwirrt, wenn ich ein neues Projekt anlege erhalte ich 468 Fehler beim Kompilieren. Quer durch sämtliche Q-Module. Wenn ich mein "altes" Projekt auf 6.1.2 umstelle erhalte ih 10 Fehler.
                                  Was ich getan habe? Ich habe in VS 2019 eine QWidgets Application angelegt.
                                  In den Projekteinstellungen habe ich dann die folgenden Anpassungen vorgenommen

                                  • VC++ Verzeichnisse/Includeverzeichnisse -> include-verzeichnis der Version eingebunden
                                  • VC++ Verzeichnisse/Bibliotheksverzeichnisse -> lib Verzeichnis der Version eingebunden
                                  • C++/Zusätzliche Includeverzeichnisse -> include-Verzeichnis eingebunden
                                  • Linker/Allgemein/Zusätzliche Bibliotheksverzeichnisse -> lib Verzeichnis eingebunden.

                                  Die 468 Fehler wurden schon vor Anpassung der Projekteigenschaften angezeigt.
                                  Mit Version 5.13.2. kompiliert es ohne Probleme.

                                  1 Reply Last reply
                                  0
                                  • C Offline
                                    C Offline
                                    Christian Ehrlicher
                                    Lifetime Qt Champion
                                    wrote on 1 Oct 2021, 15:54 last edited by
                                    #17

                                    Nutze cmake oder qmake aber erzeuge kein rojekt für Qt von Hand...

                                    Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                                    Visit the Qt Academy at https://academy.qt.io/catalog

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      makopo
                                      wrote on 1 Oct 2021, 16:30 last edited by
                                      #18

                                      Ich benutze die QtVS Tools für Visual Studio. Dort kann man ja quasi automatisch ein neues Projekt anlegen. Die Projekteinstellung muss ich ja im Grunde auch gar nicht vornehmen, da die durch VS nach Wahl der QT Version dynamisch gesetzt werden.
                                      Mit Qt Creator funktioniert dann auch die Version 6.1.2.

                                      1 Reply Last reply
                                      0

                                      8/18

                                      28 Sept 2021, 16:17

                                      • Login

                                      • Login or register to search.
                                      8 out of 18
                                      • First post
                                        8/18
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • Users
                                      • Groups
                                      • Search
                                      • Get Qt Extensions
                                      • Unsolved