Usar Lua em C++

Estou a tentar usar Lua em C++, mas não consigo compilar o meu código. Estou a usar a última versão de Lua, que é 5.3 neste momento. A minha IDE é Código: Blocos. Até agora eu estava seguindo guias como estes: https://eliasdaler.wordpress.com/2013/10/11/lua_cpp_binder/ http://gamedevgeek.com/tutorials/getting-started-with-lua/

No entanto, eles não explicam muito sobre como configurar Lua em C::B. Eu baixei o zip binário e a fonte do site da Lua. Eu ... não sei onde colocar os arquivos da pasta src. Até agora, pus o lauxlib.h, a lua.h, o luaconf.h E o lualib.h no diretório de inclusão, e usou o seguinte código na principal.cpp:

extern "C" {
    #include "lua.h"
    #include "lualib.h"
    #include "lauxlib.h"
}
Até agora só estou a tentar fazer o seguinte pequeno trecho:
lua_State* L;
L = luaL_newstate();
luaL_openlibs(L);
luaL_dofile(L, "test.lua");
lua_close(L);
No entanto, tenho sempre um erro na primeira linha. O erro que estou recebendo no momento afirma que a referência é indefinida para "luaL_newstate".

Talvez eu devesse colocar alguns ficheiros no directório lib. da fonte? Ou há alguma coisa que eu tenha que adicionar Ao 'outras opções de linker' no menu 'Opções de compilação do projeto'?

Editar:

Entretanto, encontrei esta pergunta.: Lua 5.3 referências indefinidas

parece que eu tenho que colocar a-llua para as 'opther linker opções', mas não há.mais ou menos.ficheiros lib incluídos nos pacotes em lua.org.

 2
Author: Community, 2016-07-14

1 answers

Podia finalmente fazer correr o código mencionado na pergunta. Eis o que eu fiz.
  1. Em vez de baixar a fonte do site da Lua, eu baixei o o mais recente Luadista . O site também é acessível através da Lua.org s download página sob a categoria binários.

  2. Nesse zíper, há as habituais pastas de inclusão e lib.

  3. Copiei ambos para as pastas apropriadas, e configurei o caminho para compilador e linker no menu de Opções de Compilação.

  4. Depois, por baixo da página de configuração do Linker, adicionei a liblua.dll.a ficheiro, que pode ser encontrado no directório lib. Para este último passo, poderá encontrar ajuda adicional na página de configuração do SFML .

  5. Para o passo final, coloquei a liblua.dll ficheiro ao lado do executável compilado.

 0
Author: Letokteren, 2016-07-14 20:12:06