IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

compiler un fichier.c pour l'appeler à partir d'un fichier python


Sujet :

Déploiement/Installation Python

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut compiler un fichier.c pour l'appeler à partir d'un fichier python
    Bonjour ,
    est ce quelqu'un peut m'aider je viens de commencer sur python et j'essaye d'intégrer une fonction en c et l'appeler à partir d'un fichier .py en passant par swig ?
    j'ai trouvé un exemple sur le net sur l'@ : http://web.univ-pau.fr/~bruel/Enseig...thon/swig.html
    j'ai essayé d'appliquer cet exemple sous python avec swig
    en mettant :
    une fonction somme dans un fichier somme.c et le descriptif de la fonction dans un fichier somme.h et un fichier somme.i sous swig un fichier Makefile et un fichier somme.py pour executer ma fonction
    voila le contenu de chaque fichier :
    1/somme.c :
    #include <stdio.h>
    #include 'somme.h'
    int somme(int a, int b)
    {return(a+b);}

    2/ somme.h :
    #include <stdio.h>
    int somme(int a, int b);

    3/ somme.i :
    %module somme
    %{ #include <stdio.h>
    #include "somme.h"
    %}
    /* puis, on déclare, comme dans un fichier .h mais en "extern", les variables, les fonctions, */
    /* les méthodes du .cxx correspondant */
    extern int somme(int a, int b);

    4/ Makefile :
    #permet de ne changer ces options qu'une seule fois en début de programme
    MAIN=somme
    chemin=-I/usr/include/python1.5 -I/usr/lib/python1.5/config -DHAVE_CONFIG_H
    compile=g++
    option1=-c++
    option2=-shadow
    #création du fichier (nom du fichier)module.so ou (nom du fichier)cmodule.so en présence de classe
    $(MAIN)$module.so:$(MAIN).o $(MAIN)_wrap.o $(compile) -shared $(MAIN).o $(MAIN)_wrap.o -o $(MAIN)$module.so
    #la commande suivante permet d'obtenir le fichier (nom du fichier).o
    $(MAIN).o:$(MAIN).cxx $(compile) -c $(MAIN).cxx $(chemin)
    #la commande suivante permet d'obtenir le fichier (nom du fichier)_wrap.o
    $(MAIN)_wrap.o:$(MAIN)_wrap.c $(compile) -c $(MAIN)_wrap.c $(chemin)
    #la commande suivante permet d'obtenir le fichier (nom du fichier)_wrap.c
    $(MAIN)_wrap.c:$(MAIN).i swig -python $(option1) $(option2) $(MAIN).


    quand j'execute la commande make python somme.py il m'affiche l'erreur :
    => dev2@dev2:~/Fltk/pyFltk2-1.0.0b1/swig$ make python sommme.py

    make: *** No rule to make target `python'. Stop.

  2. #2
    Membre confirmé Avatar de cboudy
    Profil pro
    Ingénieur informatique industrielle
    Inscrit en
    Avril 2006
    Messages
    407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur informatique industrielle
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 407
    Points : 627
    Points
    627
    Par défaut
    je pense que tu as fusionné deux commandes distinctes
    est-ce qu'il ne faudrait pas faire
    $make
    puis
    $python somme.py

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/05/2011, 03h48
  2. Créer un fichier excel avec plusieurs feuilles à partir d'un fichier html
    Par yuukuari dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/12/2009, 16h07
  3. Copier un fichier sous un nouveau nom à partir d'un fichier délimité
    Par mathieu_r dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 26/04/2009, 21h21
  4. Réponses: 8
    Dernier message: 28/04/2008, 13h28
  5. Réponses: 8
    Dernier message: 08/03/2007, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo