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

Interfaçage autre langage Python Discussion :

référence indéfinie vers « _imp__Py_SetProgramName »


Sujet :

Interfaçage autre langage Python

  1. #1
    ttf
    ttf est déconnecté
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2002
    Messages : 14
    Points : 9
    Points
    9
    Par défaut référence indéfinie vers « _imp__Py_SetProgramName »
    Bonjour,

    je suis nouveau sur python. je tente de faire un jeu qui utiliserai des scripts lors de l'exécution.
    Hors, j'ai un problème au niveau de l'édition des liens: j'ajoute python.h au source, je lie avec python32.lib et python3.lib, et j'obtient cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    g++ -LH:\OgreSDK_mingw_v1-7-2\lib\debug -LH:\Python32\libs -oGame.exe src\ScriptEngine.o src\PackageDef.o src\GameContext.o src\Console.o src\Application.o -lOgreMain_d -lPython3 -lpython32 -lOIS_d
    src\ScriptEngine.o: dans la fonction « ScriptEngine »:
    H:\workspace\Game\Debug/../src/ScriptEngine.cpp:42: référence indéfinie vers « _imp__Py_SetProgramName »
    H:\workspace\Game\Debug/../src/ScriptEngine.cpp:43: référence indéfinie vers « _imp__Py_Initialize »
    (j'utilise la nouvelle version, l'ancienne 2.7 faisait exactement la même chose avec python27.lib)

    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,
    C'est une des difficultés dans lesquelles on tombe lorsqu'on utilise MinGW sous Windows pour construire des extensions: la bibliothèque \libs\pythonXY.lib est au format MSVC++ et çà ne marche pas tout seul...
    La solution piquée ici est pour la version X.Y de Python:
    Create libpythonXY.a

    1. Download pexport (from here or http://starship.python.net/crew/kern...orts-0.42h.zip).
    2. Get PythonXY.dll (from \Windows\System32).
    3. Run : pexports pythonXY.dll > pythonXY.def
    This will extract all symbols from pythonXY.dll and write them into pythonXY.def.
    4. Run : dlltool --dllname pythonXY.dll --def pythonXY.def --output-lib libpythonXY.a
    This will create libpythonXY.a (dlltool is part of MinGW utilities).
    5. Copy libpythonXY.a to c:\pythonXY\libs\ (in the same directory as pythonXY.lib).

    This trick should work for all Python versions, including future releases of Python. You can also use this trick to convert other libraries.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    ttf
    ttf est déconnecté
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2002
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Merci,
    mais ce programme plante a chaque fois que j'essaye le point 3 ...
    Est ce normal?

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Ben non.
    L'URL documentant pexports signale
    I found that pexports would often crash when it attempted to extract exports from Functions (whatever that means), so I created a WinZipped patch that causes the program to avoid executing this part. The program seems to work, but if the section bypassed does anything important, clearly this doesn't get done with the patched version. In other words, my patch bypasses the problem, it does not fix it.
    Ca explique aussi comment faire cela via DUMPBIN et mentionne un "tuto" expliquant tout cela plus en détails.

    J'ai eu besoin de faire cela récemment avec Python2.7/32 sur Windows 7/64, je n'ai pas constaté ce type de soucis.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    ttf
    ttf est déconnecté
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2002
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2002
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    J'ai utilisé DUMPBIN et dlltool comme indiqué dans le tuto et je n'ai plus d'erreur à la compilation... mais pour l'exécution j'obtiens "L'application n'a pas pu démarrer correctement (0xc000007b)"...

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,
    Une lecture rapide de ce qui sort de Google avec ce message d'erreur (que je n'ai jamais eu l'occasion de voir en faisant ce type d'opération) laisse penser que la toolchain fonctionne mais que vous avez peut être des pbs côté droits/base de registre.
    Peut être tester avec une bibliothèque python avec des extensions C pas trop pénible à installer pour voir - mais je n'en connais plus de tête.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. référence indéfinie vers.
    Par étoile de mer dans le forum GTK+
    Réponses: 3
    Dernier message: 21/03/2014, 14h22
  2. Réponses: 2
    Dernier message: 08/03/2010, 17h00
  3. référence indéfinie vers « vtable for FenPrincipale
    Par yLaplace dans le forum Débuter
    Réponses: 5
    Dernier message: 01/03/2010, 13h49
  4. Réponses: 10
    Dernier message: 02/01/2007, 12h07
  5. [Linker MinGW]Références indéfinies mais libs incluses
    Par oiffrig dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 31/08/2006, 13h35

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