Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to provide C++ version when extending python

I want to make c++ code callable from python.

https://docs.python.org/3/extending/ explains how to do this, but does not mention how to specify c++ version.

By default distutils calls g++ with a bunch of arguments, however does not provide the version argument. Example of setup.py:

from distutils.core import setup, Extension

MOD = "ext"

module = Extension("Hello", sources = ["hello.cpp"])

setup(
    name="PackageName",
    version="0.01",
    description="desc",
    ext_modules = [module]
)

I'm using linux, if that matters.

like image 958
DiKetarogg Avatar asked Sep 19 '25 16:09

DiKetarogg


1 Answers

You can pass compiler arguments as extra_compile_args so for example

module = Extension(
  "Hello",
  sources = ["hello.cpp"],
  extra_compile_args = ["-std=c++20"]
)
like image 67
Cory Kramer Avatar answered Sep 22 '25 05:09

Cory Kramer