Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Die /Zc:externConstexpr Compileroption weist den Compiler an, dem C++-Standard zu entsprechen und die externe Verknüpfung für constexpr Variablen zuzulassen. Standardmäßig gibt Visual Studio immer eine constexpr variable interne Verknüpfung, auch wenn Sie das extern Schlüsselwort angeben.
Syntax
/Zc:externConstexpr[-]
Hinweise
Die /Zc:externConstexpr Compileroption bewirkt, dass der Compiler externe Verknüpfungen auf Variablen anwendet, die mithilfe von extern constexpr.
In früheren Versionen von Visual Studio wendet Visual Studio standardmäßig interne /Zc:externConstexpr- Verknüpfungen auf constexpr Variablen an, auch wenn das extern Schlüsselwort verwendet wird. Die /Zc:externConstexpr Option ist ab Visual Studio 2017 Update 15.6 verfügbar. und ist standardmäßig deaktiviert.
Ab Visual Studio 2022 Update 17.6 aktiviert die /permissive- Option sowohl als /Zc:lambdaauch /Zc:externConstexpr . In früheren Versionen /permissive- wurde keines aktiviert.
Wenn eine Headerdatei eine variable deklariert extern constexprenthält, muss sie markiert __declspec(selectany) werden, um die duplizierten Deklarationen in einer einzigen Instanz in der verknüpften Binärdatei zusammenzuführen. Andernfalls werden Linkerfehler, z. B. LNK2005, für Verstöße gegen die 1-Definition-Regel angezeigt.
So legen Sie diese Compileroption in Visual Studio fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.
Fügen Sie den Bereich "Zusätzliche
/Zc:externConstexprOptionen" hinzu oder/Zc:externConstexpr-fügen Sie sie hinzu.