Comment lier Lua dans Microsoft Visual C ++. 2010 Express?

J’essaie d’écrire des classes / fonctions C ++ accessibles depuis Lua.

J’ai besoin d’exporter la bibliothèque C ++ en tant que fichiers dll.

J’utilise Microsoft Visual C ++. 2010 Express

Je crée donc un projet et ajoute les fichiers .cpp et les fichiers .h requirejs. Lorsque j’essaie de générer, l’erreur suivante se produit.

mylib.obj: erreur LNK2019: symbole externe non résolu _lua_settop référencé dans la fonction “void __cdecl g_initializePlugin (struct lua_State *)” (? g_initializePlugin @@ YAXPAUlua_State @@@ Z)

Des erreurs similaires se produisent pour toutes les fonctions de lua. Lorsque j’ai cherché sur Google, j’ai appris que je devais lier LUA.

Comment cela peut-il être fait dans Visual C ++.

PS j’ai trouvé une solution qui m’a ordonné de donner

#pragma comment( lib, "lua5.1" ) 

Pour cette solution, il nécessite un fichier lua5.1. D’où dois-je télécharger ce fichier et où doit-il aller (dans le dossier du projet?)?

D’ACCORD! J’ai compris comment!

Pour relier Lua, vous devez effectuer les opérations suivantes après la création du projet C ++.

  • Copiez C: \ Program Files \ Lua \ 5.1 \ lib \ lua5.1.dll dans votre dossier de projet
  • Copiez C: \ Program Files \ Lua \ 5.1 \ lib \ lua5.1.lib dans votre dossier de projet.
  • Cliquez avec le bouton droit de la souris sur Projet -> Propriétés -> Propriétés de configuration -> Éditeur de liens -> Entrée.
    • Ajouter lua5.1.lib à des dépendances supplémentaires
  • Cliquez avec le bouton droit sur Projet -> Propriétés -> Propriétés de configuration -> Répertoires VC ++.
    • Ajouter C: \ Program Files \ Lua \ 5.1 \ include aux répertoires d’inclusion

REMARQUE: mon installation de lua est dans C: \ Program Files \ Lua \ 5.1

Maintenant, lors de la construction du projet, le fichier dll est créé!