所以我有一个为其制作了python包装器的C++类,并且我制作了一个setup.py文件来编译它,以便在python中使用它。当我尝试运行python setup.py install时,我得到以下错误:
lipo: can't create output file: build/temp.macosx-10.5-fat3-2.7/../tools/transport-stream/TransportStreamPacket_py.o (No such file or directory)
error: command 'gcc-4.0' failed with exit status 1我不认为问题出在正在编译的文件上,我想我一定是把setup.py设置错了。下面是我的setup.py文件的样子:
from distutils.core import setup, Extension
module1 = Extension('CL_TransportStreamPacket_py',
sources = ['../tools/transport-stream/TransportStreamPacket_py.cpp'],
include_dirs = ['.',
'../common',
'../tools/transport-stream'],
library_dirs = ['common',
'../tools/transport-stream'],
libraries = ['Common',
'TransportStream']
)
setup (name = 'CL_TransportStreamPacket_py',
version = '1.0',
description = 'This is the transport stream packet parser',
ext_modules = [module1])发布于 2010-07-23 05:28:58
您的问题是源代码定义中的前导'..'。Distutils使用源文件的名称来生成临时和输出文件的名称,但不会对它们进行规范化。重新组织源码树(或者移动setup.py文件),这样就不需要引用'../tools/...'了
https://stackoverflow.com/questions/3313625
复制相似问题