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

 C Discussion :

Compilation en ligne de commande windows


Sujet :

C

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut Compilation en ligne de commande windows
    Bonjour à tous !

    Explication :

    Voilà, j'ai créer une DLL de test que je cherche à utiliser dans un script python.
    Or, lorsque je compile ma DLL de façon standard via mon IDE (avec le compilateur visual c++ 2005/2008), celle ci fonctionne quand elle est utilisé par un projet en C, mais pas du tout dans un projet python.
    Au sein de mon python, je parviens à l'importer, mais aucunes des fonctions qu'elle devrait contenir ne sont présente dans mon python (je l'ai constater grâce à un dir(mydll)) !

    Or, si je compile cette même DLL en utilisant la commande (dans visual studio 2005 commande prompt) :
    cl -LD dlltest.c -Fetest.dll
    alors ma dll de test contenant ma fonction "addition" fonctionne parfaitement !

    le principe fonctionnant sur ma dll de test, je voudrais l'appliqué sur la "vrai" dll que je dois exploiter.
    Mais je ne sais pas compiler de la même manière en "linkant" vers les bibliothèque statique que dois utiliser ma "vrai" DLL.

    Ma question est donc la suivante :

    Comment adapter la commande :cl -LD dlltest.c -Fetest.dll
    pour que je puisse compiler mon main.c tout en précisant qu'il faut linker ma C:/chemin_lib/bibliothequeA.lib et c:/autre_chemin_lib/bibliothequeB.lib ?
    Je pense que sur la partie compilation, il n'y à rien à faire du coté des .h (dans la ligne de commande) n'est-ce pas ?

    j'ai essayé d'utiliser link.exe mais sans réussite...

    Merci d'avance à tous les membres !

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Oulah, utiliser des fonctions d'une librairie dans un python?

    Perso je trouve ça assez étonnant, je ne sais pas ce qu'en pense les autres membre, mais pour ma part j'évite clairement de faire ça.

    Je dirais de préféré un programme qui va effectué cette action et appelé depuis le python, c'est une manière plus "conventionnel" de faire.

    tu dois obligatoirement appelé des fonctions dans une lib depuis python?
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Personnellement, mes connaissances en Python sont très maigres, je te dirais alors de peut-être voir ce tutoriel: http://matthieu-brucher.developpez.c...on/swig-numpy/... si c'est de ce genre de chose dont tu as besoin.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    j'ai déjà regardé du coté de swig, mais pour ce que je veux faire, je n'ai pas besoin d'aller aussi loin. J'ai trouvé des façons simples (ctypes) d'utiliser des dll dans un script python.
    Voici deux tuto dont je me suis inspiré :
    http://www.lejordet.com/2009/04/simp...le-in-windows/
    http://sametmax.com/appeler-du-code-...n-avec-ctypes/

    Donc, le problème ici n'est pas d’interfacer le python avec le C.
    Je pense que si vous pouviez m'aider sur le :
    Comment adapter la commande cl -LD dlltest.c -Fetest.dll en une commande ou je fait exactement la même chose mais où je link vers mes .lib.

    Alors, là je pourrais grandement avancer ! ^^

Discussions similaires

  1. Compilation en ligne de commande windows
    Par joks93440 dans le forum Windows
    Réponses: 1
    Dernier message: 23/11/2013, 14h57
  2. Réponses: 4
    Dernier message: 29/05/2012, 23h27
  3. [WebForms][CR] Compilation en ligne de commande et etat Crystal
    Par David.V dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 01/02/2009, 23h58
  4. compiler en ligne de commandes avec dev-cpp
    Par yashiro dans le forum Dev-C++
    Réponses: 8
    Dernier message: 30/03/2006, 19h14
  5. Compilation par ligne de commande
    Par Dupont Lionel dans le forum MFC
    Réponses: 2
    Dernier message: 21/10/2005, 13h29

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