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

Lua Discussion :

Interface graphique (problème de paramétrage)


Sujet :

Lua

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 70
    Points : 180
    Points
    180
    Par défaut Interface graphique (problème de paramétrage)
    Bonjour, je vous recontacte pour un petit problème d'installation de la librairie. En effet, je voudrais installer la librairie IUT pour m'en servir (logique ça, bravo mc geek !!). Je me renseigne donc sur le site de IUT et dans le manuel de référence lua (français) ; mais j'ai une erreur tout bête, et je ne la vois pas (je vois toujours les erreurs chez les autres mais jamais les miennes, je suis comme ça, et c'est bien embêtant pour moi).
    Voici donc mon code, et le message d'erreur du terminal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    "-librairies/iup/include" --to find include files
    "-librairies/iup/lib/Linux26" --to find library files
    "-liup" --to specify the library files
     
    require 'librairies/iup'
     
    local button = iup.button { title = "Hello World !" }
     
    function button:action()
    	print "Hello World !"
    	return iup.DEFAULT
    end
     
    local dlg = iup.dialog { button; title="HW", size="QUARTERxQUARTER" }
     
    dig:show()
     
    iup.MainLoop()
    Voici l'arborescence du dossier :
    Lua (<-- dossier)
    /interface_graphique (<--dossier)
    //librairies (<-- dossier)
    ///iup(<--dossier)
    ///Toute la librairie iup comme disponible en téléchargement
    //index.lua(<--fichier concerné)

    Voici le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lua: index.lua:1: unexpected symbol near '"-librairies/iup/include"'
    En espérant que vous me répondrez...

    Merci encore,
    Au revoir

    N.B. : Je suis sous macbook (core 2 duo) (os mavericks).
    Nous serons en danger le jour où les machines seront capable de glander.

  2. #2
    Membre régulier
    Homme Profil pro
    Ing. Hydraulicien
    Inscrit en
    Août 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ing. Hydraulicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 26
    Points : 71
    Points
    71
    Par défaut
    Bonjour Mc_geek,

    Je remarque que les trois premières lignes de ton script Lua ne sont pas des lignes de codes correctes. Peut-être voudrait tu les avoir en commentaire ? Dans ce cas, préfixe-les par un double tiret d'union, ou alors supprime-les tout simplement.

    Aussi, remarque générale, il est préférable d'utiliser le point comme séparateur lorsque l'on veut appeler un module avec require. Donc, require "librairies.iup" en lieu et place de require "librairies/iup".

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 70
    Points : 180
    Points
    180
    Par défaut
    Bonjour Roland_Y,
    Tout d'abord merci de ta réponse. J'ai suivi tes conseils sur les lignes de codes et sur l'utilisation des points, mais de nouveaux messages d'erreurs s'affichent, les voici (toujours obtenus avec le terminal) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    lua: index.lua:5: module 'librairies.iup' not found:
    	no field package.preload['librairies.iup']
    	no file './librairies/iup.lua'
    	no file '/usr/local/share/lua/5.1/librairies/iup.lua'
    	no file '/usr/local/share/lua/5.1/librairies/iup/init.lua'
    	no file '/usr/local/lib/lua/5.1/librairies/iup.lua'
    	no file '/usr/local/lib/lua/5.1/librairies/iup/init.lua'
    	no file './librairies/iup.so'
    	no file '/usr/local/lib/lua/5.1/librairies/iup.so'
    	no file '/usr/local/lib/lua/5.1/loadall.so'
    	no file './librairies.so'
    	no file '/usr/local/lib/lua/5.1/librairies.so'
    	no file '/usr/local/lib/lua/5.1/loadall.so'
    stack traceback:
    	[C]: in function 'require'
    	index.lua:5: in main chunk
    	[C]: ?
    Aurais tu une solution en tête s'il te plaît ?
    Merci encore !
    Nous serons en danger le jour où les machines seront capable de glander.

  4. #4
    Membre régulier
    Homme Profil pro
    Ing. Hydraulicien
    Inscrit en
    Août 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ing. Hydraulicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 26
    Points : 71
    Points
    71
    Par défaut
    Cela doit venir du fait que require est censé charger un module bien précis. Ce module est soit un script .lua, ou alors une librairie .dll (pour Windows) ou .so (pour Linux).
    Donc, en passant comme chemin librairies.iup, tu désignes tout simplement le dossier iup placé dans le dossier librairies, mais sans pour autant préciser quel est le fichier à charger dans le dossier iup.
    Il faudra donc identifier dans le dossier iup le fichier en extension .so qui correspond à la librairie iup. Admettons qu'il se nomme libiup.so.
    Dans ce cas, il faudra écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require "librairies.iup.libiup"
    La fonction require se chargera de rajouter l'extension .so.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 70
    Points : 180
    Points
    180
    Par défaut
    Bonsoir, tout d'abord merci à toi même si ce n'est pas fini !
    J'ai réussi à trouver un fichier .lua qui à l'air d'être le bon, car il y a eu des changements !
    En effet, toujours au même endroit, j'obtiens ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    lua: ./librairies/iup/srclua3/iuplua.lua:10: attempt to call global 'settagmethod' (a nil value)
    stack traceback:
    	./librairies/iup/srclua3/iuplua.lua:10: in main chunk
    	[C]: in function 'require'
    	index.lua:5: in main chunk
    	[C]: ?
    Je ne comprends rien au message, il indique un problème de variable, mais je ne comprends pas où.
    Nous serons en danger le jour où les machines seront capable de glander.

  6. #6
    Membre régulier
    Homme Profil pro
    Ing. Hydraulicien
    Inscrit en
    Août 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ing. Hydraulicien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2012
    Messages : 26
    Points : 71
    Points
    71
    Par défaut
    Personnellement, je ne crois pas qu'il s'agisse d'un fichier .lua qu'il faille charger pour utiliser IUP.
    Il s'agit plutôt d'une librairie dynamique. Cherches donc un fichier *.dll (si tu es sous Windows) ou un fichier .so si tu es sous Linux, et appelle-le avec require.
    Chez moi, par exemple, c'est un fichier nommé iup.dll (je suis sous Win7).
    Le fichier .lua que tu as exécuté est probablement un script utilisé en interne par tecGraf....

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 70
    Points : 180
    Points
    180
    Par défaut
    Juste une question, tu considères ici que linux et mac sont pareils pour les fichiers config ? Dans ce cas, ce serait un fichier .so que je devrais cherche ?
    Est-ce qu'il se pourrait que j'ai téléchargé un mauvais exemplaire de la librairie iup et que cela expliquerait mes problèmes ; ou encore, faut-il builder la librairie pour pouvoir l'utiliser ? Si oui, comment faire ?
    Nous serons en danger le jour où les machines seront capable de glander.

Discussions similaires

  1. Réponses: 6
    Dernier message: 16/04/2018, 16h02
  2. [XUBUNTU] Problème avec l'interface graphique de vnc
    Par sniperwolf79 dans le forum Ubuntu
    Réponses: 1
    Dernier message: 08/02/2007, 14h40
  3. Problème interface graphique
    Par thecyril dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 14/01/2007, 16h08
  4. interface graphique, problème d'affichage
    Par kitsune dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 10/01/2007, 12h30
  5. Réponses: 2
    Dernier message: 29/03/2004, 18h29

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