Add note that VS2017 requires /permissive- to build in C++17 mode (#2431)
* Add note that VS2017 requires /permissive- to build in C++17 mode
* ci: test C++17 on MSVC 2017
* ci: args1/2, use args to override max cxx
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
diff --git a/docs/basics.rst b/docs/basics.rst
index 7bf4d42..6bb5f98 100644
--- a/docs/basics.rst
+++ b/docs/basics.rst
@@ -35,6 +35,14 @@
On Windows, only **Visual Studio 2015** and newer are supported since pybind11 relies
on various C++11 language features that break older versions of Visual Studio.
+.. Note::
+
+ To use the C++17 in Visual Studio 2017 (MSVC 14.1), pybind11 requires the flag
+ ``/permissive-`` to be passed to the compiler `to enforce standard conformance`_. When
+ building with Visual Studio 2019, this is not strictly necessary, but still adviced.
+
+.. _`to enforce standard conformance`: https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=vs-2017
+
To compile and run the tests:
.. code-block:: batch