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 :

Initialiser LUA [probleme d'éxécution]


Sujet :

C++

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut Initialiser LUA [probleme d'éxécution]
    Bonsoir, j'ai un problème en tentant de compiler un exemple minimal de LUA.
    J'ai télécharger les binaires pour windows, mis le dll dans le rep de mon prog, linker le .lib fournit, inclu mes 3 fichiers lua .

    Ca compile, link et exécute jusque la ...
    SI jajoute un
    Ca marche encore ...

    Par contre si jajoute un :

    Mon programme compile, ne génère aucune erreur mais refuse de se lancer, lorsque je clique sur mon .exe, RIEN ne se passe, le programme ne se charge plus ! ( Normalement j'ai une fenetre en mode fullscreen qui reste une dizaine de secondes ), et la je suis certain que le prog ne se lance meme pas .
    (précision, je suis sous MSVC 2003 en "debug multithread dll" en debug et en "multithread dll" en release .

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    T'es sûr qu'il ne se lance pas ? Ce serait bien curieux. Tu as essayé une exécution pas à pas à partir du début ?

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    J'aurais du penser à tester, voila le message lors d'un pas à pas :

    'Ey-Lord.exe'*: Chargé 'C:\Documents and Settings\Moi\Bureau\Ey-Lord\RunningExe\lua5.1.dll', Aucun symbole n'a été chargé.
    Débogueur:: Une exception STATUS_DLL_NOT_FOUND non gérée et qui ne peut être continuée a été levée durant le chargement du processus
    Le programme '[3104] Ey-Lord.exe: Natif' s'est arrêté avec le code -1073741515 (0xc0000135).

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Ca marche !!!
    Enfin ca a l'air
    Mais j'ai une ou deux questions car le flou est encore bien présent dans ma tête.

    J'ai donc récupéré les sources du lua.

    J'ai créer un projet win32 - dll, inclue toute les sources
    Que j'ai compilé deux fois, une fois en debug - "DLL de debuggage multithread"
    et une fois en release "DLL de multithread" .

    -> j'ai donc deux fichiers .dll

    J'ai ensuite créer un nouveau projet win32 - bibliothète static et j'ai recompilé 2 fois comme ci-dessus.

    -> j'ai donc deux fichiers .lib

    Je doit donc linker les 2 .lib à mon projet selon mon mode de compilation ( 1 pour debug, un pour release ) et inclure mes 2 dll c'est ca?

    Que se passera-t-il si je link le même .lib et .dll pour les 2 modes ?

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il faut déjà commencer par savoir si tu veux utiliser la version statique ou dynamique de la bibliothèque ?

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Je n'ai jamais vraiment vu la différence entre les deux, pour moi la seule différence est que pour la version statique le code est ajouté à mon apli et pour la dynamique mon prog va juste utiliser des pointeur sur les fonction de la dll chargé en début de prog .

    Pour lua j'ignoe meme quelle version j'utilise :S ... et j'ignore celle dont j'ai besoin ...

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ben la différence c'est celle-ci : une bibliothèque statique ne produira pas de dépendance externe, alors qu'une bibliothèque dynamique nécessitera toujours de se trimballer la DLL correspondante. A toi de voir quelle version tu veux utiliser selon le contexte. En général, sauf problème particulier, il est toujours préférable de lier avec une bibliothèque statique, pour justement limiter les dépendances à des fichiers externes.

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    Hum à tester, je crois me souvenir que ca ne compile pas si je ne fait que lié mon .lib sans inclure mon dll, mais je vais vérifier, j'ai fais tellement d'opérations différente entre-temps. [ j'avais compilé mes .lib en statique ]

    Edit: Tu as raison, mon prog link /compile / s'éxécute bien juste avec mes .lib et sans inclure les dll ... par contre je me demande comment utiliser ( juste pour ma "culture" la version dynamique ). Je met le dll dans le dossier, sans le .lib ? OU faut-il créer un .lib "dynamique"? ( la par contre je ne sais pas comment ...)

  9. #9
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Quand tu compiles en statique, tu as un .lib qui contient les fonctions compilées de ta bibliothèque ; celles-ci sont incluses à ton exe lorsque tu lies avec.

    Quand tu compiles en dynamique, tu as un .dll qui contient les fonctions compilées de ta bibliothèque, et un .lib qui ne contient que le lien entre les fonctions et la dll. Lorsque tu lies avec, ton exe saura que telle fonction devra être appelée depuis la dll.

    Donc dans les deux cas il faut lier avec le .lib pour utiliser la bibliothèque ; dans le second il faut aussi fournir la dll (à l'exécution) pour que cela fonctionne.

  10. #10
    Membre éclairé
    Inscrit en
    Octobre 2004
    Messages
    616
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 616
    Par défaut
    C'est très clair et c'est ce que j'avais en tête ...j'ai du mal compilé en dynamique car je n'ai aps le souvenir d'avoir eu un .lib avec ma dll ...

  11. #11
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Il y a certains symboles à déclarer lorsque tu compiles en dynamique (style LUA_EXPORT, LUA_DYNAMIC ou un truc du genre).

Discussions similaires

  1. probleme d'éxécution de requete SQL
    Par darkspoilt dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/05/2007, 17h37
  2. probleme d'éxécution d'un bouton
    Par darkspoilt dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/05/2007, 17h47
  3. Probleme d'éxécution de mon programme
    Par BigWill dans le forum C
    Réponses: 8
    Dernier message: 28/02/2007, 10h18
  4. Probleme d'éxécution de mes pages JSP
    Par ijklm dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 02/06/2006, 17h48
  5. [CGI] Probleme à l éxécution
    Par ankou82 dans le forum C
    Réponses: 13
    Dernier message: 11/05/2006, 10h23

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