0
是否可以禁用與distutils.core.Extension
創建共享對象?我想在鏈接之前停止編譯器(即g++ -c ...
)。禁用distutils的鏈接步驟
我在swigging一個本地文件,它創建一個目標文件和一個python文件。我還有其他代碼可以編譯,以後我會鏈接到這個目標文件,所以我不想在編譯.o
之後繼續這樣做。
$ python setup.py build
running build
....
building 'foo' extension
swigging src/foobar.i to src/foobar.cpp
swig -python -c++ -o src/foobar.cpp src/foobar.i
我想停在這裏,但它仍在繼續。
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Isrc -I/usr/include/python2.7 -c src/foobar.cpp -o build/temp.linux-x86_64-2.7/src/foobar.o
g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-x86_64-2.7/src/foobar.o -o build/lib.linux-x86_64-2.7/foobar.so
是否需要直接使用CCompiler類?或者有沒有辦法來糾結Extension
課程?
23 ext_modules=[
24 # Swig
25 Extension(
26 name='foobar',
27 sources=['src/foobar.i'],
28 include_dirs=['src'],
29 swig_opts=['-c++'],
30 ),
31 ]
看起來,distutils中的'build_extension'命令就是爲你做的,並且沒有太多的事情可以做,而不會破壞build_ext.compiler類。 https://fossies.org/dox/Python-2.7.13/build__ext_8py_source.html#l00451 –