gpt4 book ai didi

python - Distutils - 如何在构建扩展时禁用包括调试符号

转载 作者:太空狗 更新时间:2023-10-30 00:36:48 24 4
gpt4 key购买 nike

我写了一个 boost-python 扩展,目前正在通过 distutils 构建。

不幸的是,我无法在 distutils 中找到一种方法来构建没有调试符号的扩展,或者在安装时从扩展中删除符号。
注意:我没有将 --debug 或 -g 传递给 distutils 的构建命令(例如,python setup.py build),我的编译器是 Linux 上的 gcc。

示例 setup.py:

from distutils.core import setup
from distutils.extension import Extension

setup(name="myPy",
ext_modules = [
Extension("MyPyExt", ["MyPyExt.cpp"],
libraries = ["boost_python"])
])

最佳答案

您可以使用选项 extra_compile_args将参数传递给最后附加的编译器,因此具有最高优先级。因此,如果您在 extra_compile_args 中包含 -g0(无调试符号),这会覆盖 Distutils/Setuptools 设置的 -g。在你的例子中:

from distutils.core import setup
from distutils.extension import Extension

setup(
name="myPy",
ext_modules = [Extension(
"MyPyExt",
["MyPyExt.cpp"],
libraries = ["boost_python"],
extra_compile_args = ["-g0"]
)]
)

另请参阅:How may I override the compiler (gcc) flags that setup.py uses by default?

关于python - Distutils - 如何在构建扩展时禁用包括调试符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13143294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com