2010-07-22 6 views
0

Donc j'ai une classe C++ pour laquelle j'ai fait des wrappers python, et j'ai fait un fichier setup.py pour le compiler afin de l'utiliser en python. Lorsque je tente de lancer python setup.py install je reçois l'erreur suivante:Pourquoi mon script setup.py donne-t-il cette erreur?

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 

Je ne pense pas que le problème est avec le fichier en cours d'élaboration, je pense que je dois être mise en place du setup.py mal. Voici ce que mon fichier setup.py ressemble:

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]) 
+0

Avez-vous vérifié si le fichier est présent à l'emplacement indiqué par le message d'erreur? Si non, les répertoires existent-ils? –

Répondre

3

Votre problème est le premier '..' dans les définitions de source. Distutils utilise les noms des fichiers source pour générer les noms des fichiers temporaires et de sortie, mais ne les normalise pas. Réorganisez votre arborescence source (ou déplacez le fichier setup.py) afin de ne pas avoir besoin de référencer '../tools/...'

Questions connexes