我正在尝试将Python包装器编译为我编写的小型C ++库。我编写了以下setup.py脚本以尝试setuptools用于编译包装器:
from setuptools import setup, Extension
import numpy as np
import os
atmcmodule = Extension(
'atmc',
include_dirs=[np.get_include(), '/usr/local/include'],
libraries=['mcopt', 'c++'], # my C++ library is at ./build/libmcopt.a
library_dirs=[os.path.abspath('./build')],
sources=['atmcmodule.cpp'],
language='c++',
extra_compile_args=['-std=c++11', '-v'],
)
setup(name='tracking',
version='0.1',
description='Particle tracking and MC optimizer module',
ext_modules=[atmcmodule],
)
Run Code Online (Sandbox Code Playgroud)
但是,当我python setup.py build在OS X El Capitan上运行时,clang抱怨找不到某些C ++标准库头文件:
In file included from atmcmodule.cpp:7:
In file included from ./mcopt.h:11:
In file included from ./arma_include.h:4:
/usr/local/include/armadillo:54:12: fatal error: 'initializer_list' file not …Run Code Online (Sandbox Code Playgroud)