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

Boost C++ Discussion :

boost et lua bind


Sujet :

Boost C++

  1. #1
    Membre �clair� Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par d�faut boost et lua bind
    Salut,

    je cherche a utiliser luabind (0.8.1) avec boost (1.34)

    je connais rien � boost et je cherche pour l instant a compiler les exemples simples fournis avec lua bind

    je me pose qq questions

    1) la doc de luabind parle de ca :
    $ set BOOST_ROOT=...
    $ set LUA_PATH=...
    $ bjam stage

    j ai chop� ce bjam mais je comprends pas � quoi sert ce programme.

    je l ai lanc�, ca lance une compil super longue et j ai ce message:

    Unknown compiler version - please run the configure tests and report the results

    comment le configurer pour visual studio 2008 ?

    2) a la compil j ai des erreurs complexes de template style:
    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
    19
    20
    21
     
    C:\libs\luabind-0.8\luabind/function.hpp(28) : error C2780: 'boost::mpl::vector12<R,const most_derived<T,Wrapped>::type&,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9> luabind::detail::deduce_signature(R (__thiscall T::* )(A0,A1,A2,A3,A4,A5,A6,A7,A8,A9) const,Wrapped *)'*: 2 arguments attendus - 1 fournis
    1>        C:\libs\luabind-0.8\luabind/detail/deduce_signature.hpp(107)*: voir la déclaration de 'luabind::detail::deduce_signature'
    1>        C:\libs\luabind-0.8\luabind/function.hpp(27)*: lors de la compilation de la fonction membre '<Inconnu>' de la classe <Inconnu>
    1>        C:\libs\luabind-0.8\luabind/function.hpp(50)*: voir la référence à l'instanciation de la classe modèle 'luabind::detail::function_registration<F,Policies>' en cours de compilation
    1>        with
    1>        [
    1>            F=void (__stdcall *)(GLenum),
    1>            Policies=luabind::detail::null_type
    1>        ]
    1>        C:\libs\luabind-0.8\luabind/function.hpp(56)*: voir la référence à l'instanciation de la fonction modèle 'luabind::scope luabind::def<void(__stdcall *)(GLenum),luabind::detail::null_type>(const char *,F,const Policies &)' en cours de compilation
    1>        with
    1>        [
    1>            F=void (__stdcall *)(GLenum),
    1>            Policies=luabind::detail::null_type
    1>        ]
    1>        .\projet_lua.cpp(397)*: voir la référence à l'instanciation de la fonction modèle 'luabind::scope luabind::def<void(__stdcall *)(GLenum)>(const char *,F)' en cours de compilation
    1>        with
    1>        [
    1>            F=void (__stdcall *)(GLenum)
    1>        ]
    l erreur est elle li� a un truc zapp� en phase 1?

    si certains connaissent luabind et l utilisent avec VS2008, votre aide est la bienvenue

  2. #2
    R�dacteur/Mod�rateur
    Avatar de JolyLoic
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    5 463
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 51
    Localisation : France, Yvelines (�le de France)

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

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 5 463
    Par d�faut
    Je ne connais pas luabind, mais je vais tenter de r�pondre...

    1/ bjam est une sorte de makefile pour boost. Ca permet de compiler la partie de boost qui a besoin de compilation. Sous visual C++, il faut g�n�ralement depuis une invite de commade visual C++ (qui a d�j� positionn� les variables qui vont bien) lancer un truc genre : bjam --toolset=msvc stage

    L'erreur est probablemetn due au fait que boost 1.34 pr�date la sortie de MSVC2008. Peut-�tre que luabind marche avec un MSVC plus r�cent ?

    D'un autre c�t�, la doc de luabind a l'air de dire que les headers de boost lui suffisent (http://www.boost.org/doc/libs/1_34_0...only-libraries). Donc peut-�tre n'est-il pas n�cessaire de compiler quoi que ce soit de ce c�t�. Il n'emp�che que la version 1.34 de boost peut quand m�me poser des probl�mes de compatibilit�.

    2/ Sans voir le code, aucune id�e.
    Ma session aux Microsoft TechDays 2013 : D�velopper en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage � la d�couverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'h�sitez pas � me contacter.

  3. #3
    Membre �clair� Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par d�faut
    Salut et merci pour la r�ponse

    c est les explications fournies avec le download de luabind qui m ont orient� vers la version 1.34
    apparement c est la version qu il faut.

    le fichier INSTALL de luabind indique bien par contre qu il faut lancer bjam stage,

    pourtant j ai trouv� une version sur le net une version "out of the box" avec juste les headers (?)

    http://www.nuclex.org/articles/quick...ion-to-luabind

    mais meme avec cette version , en essayant de faire un exemple minimaliste avec opengl , j ai des erreurs de compilation


    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    // --------------------------------------------------------------------------------------------- //
    // LuaBind example
    //
    // This example project for Microsoft(tm) Visual C++ 2008(tm) users
    // compiles out-of-the-box. Precompiled binaries can be found in the
    // "References" directory in case you wish to use them for other
    // projects. Pay attention to the runtime library (multithreaded dll)
    // setting and the different library files being used for debug and release
    // builds when you do so!
    // --------------------------------------------------------------------------------------------- //
     
    #include <windows.h>
     
    extern "C" {
      #include "lua.h"
      #include "lualib.h"
      #include "lauxlib.h"
    }
     
    // This is the only header we need to include for LuaBind to work
    #include "luabind/luabind.hpp"
     
    #include <GL/gl.h>
    #include <GL/glu.h>
     
    #include <iostream>
    #include <string>
     
    using namespace std;
     
     
    int main() {
      lua_State *L = lua_open();
     
      struct gl_constants {};
     
      using namespace luabind;
     
    	open(L);
     
    	module(L)
    	[	
    		class_<gl_constants>("gl")
    			.enum_("constants")
    			[
    				value("COLOR_BUFFER_BIT", GL_COLOR_BUFFER_BIT),
    				value("DEPTH_BUFFER_BIT", GL_DEPTH_BUFFER_BIT),
    				value("TRIANGLES", GL_TRIANGLES)
    			],
     
    		def("glBegin", &glBegin),
    		def("glVertex3", &glVertex3f),
    		def("glEnd", &glEnd)
    	];
     
      lua_close(L);
      return 0;
    }
    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
    19
    20
    21
    22
     
    1>------ Début de la génération*: Projet*: LuaBindDemo, Configuration*: Debug Win32 ------
    1>Compilation en cours...
    1>LuaBindDemo.cpp
    1>Unknown compiler version - please run the configure tests and report the results
    1>c:\users\elk\desktop\luabind-binaries-2008-02-08\references\luabind\include\luabind\detail\primitives.hpp(68) : warning C4996: 'std::copy': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
    1>        c:\program files\microsoft visual studio 9.0\vc\include\xutility(2550)*: voir la déclaration de 'std::copy'
    1>c:\users\elk\desktop\luabind-binaries-2008-02-08\references\luabind\include\luabind\function.hpp(227) : error C2660: 'luabind::detail::free_functions::overload_rep::overload_rep'*: la fonction ne prend pas 2 arguments
    1>        c:\users\elk\desktop\luabind-binaries-2008-02-08\references\luabind\include\luabind\function.hpp(226)*: lors de la compilation de la fonction membre '<Inconnu>' de la classe <Inconnu>
    1>        c:\users\elk\desktop\luabind-binaries-2008-02-08\references\luabind\include\luabind\function.hpp(303)*: voir la référence à l'instanciation de la classe modèle 'luabind::detail::function_commiter<F,Policies>' en cours de compilation
    1>        with
    1>        [
    1>            F=void (__stdcall *)(GLenum),
    1>            Policies=luabind::detail::null_type
    1>        ]
    1>        c:\users\elk\desktop\luabind-binaries-2008-02-08\sources\luabinddemo.cpp(51)*: voir la référence à l'instanciation de la fonction modèle 'luabind::scope luabind::def<void(__stdcall *)(GLenum)>(const char *,F)' en cours de compilation
    1>        with
    1>        [
    1>            F=void (__stdcall *)(GLenum)
    1>        ]
    1>Le journal de génération a été enregistré à l'emplacement "file://c...BuildLog.htm"
    1>LuaBindDemo - 1 erreur(s), 1 avertissement(s)
    je pense pourant en tout point l exemple "glut_bind.cpp" fourni avec luabind 0.8.1

  4. #4
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par d�faut
    Salut,

    Je m'en �tais servi en compilant une lib il y a quelques temps. Pour le compiler j'ai tout simplement cr�� un projet VC++ (version 2008 aussi).

  5. #5
    Membre exp�riment� Avatar de Nogane
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    241
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 241
    Par d�faut
    Je confirme, luabind ce contente des header de boost. Donc il suffit de d�finir le BOOST_ROOT.
    Je le fait tourner avec la boost 1.38 et y'a pas de soucie.

    Pour ce qui est de ton fichier cpp, mieux vaudrai commencer par compiler glut_bind.cpp et s'en servir de base, car il semble y avoir beaucoup de diff�rences.

  6. #6
    Membre �clair� Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Par d�faut
    merci a tous, en fait j avais pas compris qu il fallait compilier une lib pour que ca fonctionne.. tout simplement

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [LUA BINDING] souci avec xml
    Par java-mobile dans le forum D�veloppement 2D, 3D et Jeux
    R�ponses: 0
    Dernier message: 29/10/2008, 17h23
  2. C++ et Lua(bind)
    Par Charlie111 dans le forum C++
    R�ponses: 3
    Dernier message: 06/10/2008, 13h14
  3. for_each + boost::bind = crash ?
    Par Patriarch24 dans le forum C++
    R�ponses: 8
    Dernier message: 21/09/2007, 09h47
  4. Utilit� de boost::bind ?
    Par swirtel dans le forum Boost
    R�ponses: 5
    Dernier message: 07/09/2007, 16h27
  5. [Boost::bind] Cdecl / Callback
    Par superspag dans le forum Boost
    R�ponses: 10
    Dernier message: 18/06/2007, 21h32

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