setuptools的附加组件,用于简化生成可执行文件和静态库
setuptools_bin_targets的Python项目详细描述
distutils/setuptools为 使用您的平台构建python包,包括二进制扩展 标准C/C++编译器。
但是,为什么它只能用于python pyd扩展呢? 没有什么能阻止它被用来编辑任何东西, 例如可执行文件和静态库。
事实证明所有的功能都已经存在了,只是不是真的 很容易接触到最终用户。但这很容易纠正:
from setuptools import setup from ext_targets import build_ext, StaticLib, Executable setup( name='binaries!', # This isn't actually used in the built targets cmdclass={'build_ext': build_ext}, ext_modules=ext_modules = [ StaticLib( name='saveforlater', sources=['lib.c', 'required.c'], include_dirs=['../include'] ), Executable( name='my_program', sources=['source.c', 'extra.cpp'], libraries=['libsaveforlater'] language='c++', include_dirs=['../include'], extra_compile_args=['-static'], extra_link_args=['-static'] ) ] )