blob: 7f735796a04737911a8a0312637380b9254e2bf6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# tag: cpp
PYTHON setup.py build_ext --inplace
PYTHON -c "import a"
######## setup.py ########
# TODO: Better interface...
from Cython.Build.Dependencies import cythonize
from distutils.core import setup
import sys
if sys.platform == 'win32':
MATH_LIBS = []
else:
MATH_LIBS = ['m']
setup(
ext_modules = cythonize("*.pyx", aliases={'MATH_LIBS': MATH_LIBS}),
)
######## my_lib.pxd ########
# distutils: language = c++
# distutils: libraries = MATH_LIBS
cdef extern from "my_lib_helper.cpp" namespace "A":
int x
######## my_lib_helper.cpp #######
namespace A {
int x = 100;
};
######## a.pyx ########
from my_lib cimport x
print x
|