Comment configurez-vous LuaBind avec Visual Studio 2012?

J’essaie de faire ça depuis un jour. J’ai lu la documentation et cherché en ligne de l’aide. Je n’arrive tout simplement pas à comprendre les différentes versions de boost / lua / luabind utilisées avec des en-têtes précompilés et VS2010 vs VS2012.

J’ai trouvé un excellent site Web ici http://blog.nuclex-games.com/tutorials/cxx/luabind-introduction/ mais lorsque je suis ces instructions, des erreurs LNK2019 se produisent (j’assume parce qu’il construit luabind / boost / lua pour VS2010.

J’ai également trouvé ceci, http://urbsch.at/?read=1 J’ai pris le projet et changé les adresses en mes fichiers boost / lua et tout a bien été compilé, mais lorsque j’ai essayé d’exécuter mon projet utilisant luabind, j’ai quand même reçu Erreurs LNK2019.

J’utilise visual studios 2012. Si quelqu’un pouvait énumérer des instructions étape par étape, je vous en serais très reconnaissant. Y compris ce qu’il faut télécharger et où et ce qu’il faut append dans les propriétés du projet. Parce qu’à ce stade, je suis sûr que je vais me tromper si ce n’est pas infaillible.

C’est l’une des 49 erreurs avec lesquelles je me retrouve souvent.

1> ScriptManager.obj: erreur LNK2019: symbole externe non résolu _lua_gettop référencé dans la fonction “public: __thiscall luabind :: adl :: index_proxy :: index_proxy (classe luabind :: adl :: object const &, struct lua_State *, char const (& ) [13]) “(?? ??? 0? $$ BY0N @ $$ CBD @? $ Index_proxy @ Vobject @ adl @ luabind @@@ adl @ luabind @@ QAE @ ABVobject @ 12 @ PAUlua_State @@ AAY0N @ $$ CBD @ Z)

Ok, je l’ai compris (il y a quelque temps.) Voici des instructions complètes, étape par étape, à toute épreuve sur la façon de le faire fonctionner.

1) Téléchargez la démo à partir d’ici http://blog.nuclex-games.com/tutorials/cxx/luabind-introduction/

2) Créez un nouveau fichier (dites “Pièces”) pour contenir les trois pièces nécessaires à Luabind.

3) Ouvrez le dossier de référence à partir du téléchargement ci-dessus et déplacez ces 3 dossiers vers le dossier “Pièces” que vous venez de créer.

4) Vous devez maintenant recomstackr de nouveaux fichiers .lib pour Lua et LuaBind. Ouvrez le fichier LibrarySources.7z à partir du téléchargement ci-dessus.

4) Créez un nouveau projet Visual Studio 2012 nommé Lua, ouvrez, extrayez tous les fichiers de “LibrarySources.7z / lua-5.2.0 / src” à l’endroit où visual studios place généralement vos fichiers .cpp et .h.

5) Ajoutez les fichiers au projet (fichiers .h dans le dossier d’en-tête de l’explorateur de projet et fichiers .c dans le dossier source.)

6) Allez à SolutionExplorer-> Propriétés-> Général-> Type_Configuration et réglez-le sur Bibliothèque statique (.lib).

7) Comstackz le projet.

8) Accédez au dossier de débogage du dossier de votre projet lua et archivez le fichier lua.lib que vous avez créé.

9) Maintenant, allez dans le dossier “Parts” que vous avez créé dans “Parts / Lua”. Vous devriez y voir 2 dossiers qui disent msvc-10.0-x64 / 86, créez-en un nouveau qui dit msvc-11.0-x86 et mettez le lua. fichier lib que vous venez de créer dans ce fichier.

10) Pour luabind, vous devez faire la même chose, toutefois, vous devez uniquement extraire le dossier src de luabind dans votre projet.

11) Maintenant dans les propriétés du projet C / C ++ -> Répertoires Inclure supplémentaires, ajoutez “C: / Parts / boost / include” “C: / Parts / lua / include” et “C: / Parts / luabind / include”

12) Maintenant, allez dans l’éditeur de liens-> Général-> Répertoires de bibliothèque supplémentaires et ajoutez “C: /Parts/lua/msvc-11.0-x86”

13) Retournez maintenant dans l’explorateur de solutions-> Propriétés-> Général et changez-le en une bibliothèque statique.

14) Comstackz cela, allez dans son dossier de débogage et ajoutez le luabind.lib que vous avez créé à parts / luabind / msvs-11.0-x86 comme vous l’avez fait pour lua.

15) Maintenant dans votre projet que vous voulez utiliser luabind avec Allez dans Propriétés-> C / C ++ -> Général et ajoutez “C: / Parts / boost / include” “C: / Parts / lua / include” et ” C: / Parts / luabind / include ”

16) Allez dans propriétés-> lieur-> général-> Répertoires de bibliothèque supplémentaires et ajoutez les adresses aux deux fichiers .lib que vous venez de créer.

Ailette.

Je ne peux pas publier de réponse complète pour le moment car je suis au téléphone, mais je dois faire certaines choses pour que luabind fonctionne correctement.

  1. Luabind 0.9.1 ne fonctionne pas avec Lua 5.2.x. Seulement avec 5.1.x.

  2. Si vous construisez lua, n’utilisez pas le compilateur c ++. Lua bind utilise extern C pour importer les en-têtes Lua et l’utilisation de c ++ causera des conflits.

  3. Si vous utilisez une version antérieure de Lua, assurez-vous qu’elle a été construite avec vs2012.