I have a module that needs to be compiled with C++11. On GCC and Clang, that means a std=c++11
switch, or std=c++0x
on older compilers.
Python is not compiled with this switch so Distutils doesn't include it when compiling modules.
What is the preferred way to compile C++11 code with distutils?
You can use the extra_compile_args
parameter of distutils.core.Extension
:
ext = Extension('foo', sources=[....],
libraries=[....],
extra_compile_args=['-std=c++11'],
....)
Note that this is completely platform dependent. It won't even work on some older versions of gcc and clang.