Erro interpretador lua de linha de comando

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Erro interpretador lua de linha de comando

wederson cabral
Bom dia!

Estou tentando compilar o exemplo da página 257 do livro Programando em LUA, que é um interpretador Lua de linha de comando simples. Porem sempre que eu tento compilar é me retornado "undefined reference" para qualquer função LUA que eu tente chamar, como mostra a imagem no link abaixo:


Eu compilei a source de lua utilizando o mingw no Windows 10 64-bits.

Estou tentando compilar o código utilizando o GCC. "gcc código.c -o executavel"

Código que eu estou tentando compilar:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lua-5.3.4/src/lua.h"
#include "lua-5.3.4/src/lauxlib.h"
#include "lua-5.3.4/src/lualib.h"
int main(){
char buff[256];
int error;
lua_State *L = luaL_newstate();
luaL_openlibs(L);
while (fgets(buff, sizeof(buff), stdin)!=NULL){
 error = luaL_loadstring(L, buff) || lua_pcall(L, 0, 0, 0);
 if(error){
  fprintf(stderr, "%s\n", lua_tostring(L, -1));
  lua_pop(L, 1);
 }
}
lua_close(L);
return 0;
}

 

.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Erro interpretador lua de linha de comando

Denis Dos Santos Silva
você está esquecendo de adicionar a biblioteca lua (ou os objetos que compõe a biblioteca)

tente: 
gcc codigo.c -o executavel <diretorio-onde-ta-o-lua/liblua.a> 
## nesse caso está "linkando" com a biblioteca estática 


Em segunda-feira, 8 de maio de 2017 09:16:08 UTC-3, wederson cabral escreveu:
Bom dia!

Estou tentando compilar o exemplo da página 257 do livro Programando em LUA, que é um interpretador Lua de linha de comando simples. Porem sempre que eu tento compilar é me retornado "undefined reference" para qualquer função LUA que eu tente chamar, como mostra a imagem no link abaixo:

<a href="http://image.prntscr.com/image/fbf4c2da23824587a8e06f4abbf46e23.png" target="_blank" rel="nofollow" onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fimage.prntscr.com%2Fimage%2Ffbf4c2da23824587a8e06f4abbf46e23.png\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFYT1GxCuDI7FVjN7WXk0ykCkjXqA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fimage.prntscr.com%2Fimage%2Ffbf4c2da23824587a8e06f4abbf46e23.png\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFYT1GxCuDI7FVjN7WXk0ykCkjXqA&#39;;return true;">Erros retornados.

Eu compilei a source de lua utilizando o mingw no Windows 10 64-bits.

Estou tentando compilar o código utilizando o GCC. "gcc código.c -o executavel"

Código que eu estou tentando compilar:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lua-5.3.4/src/lua.h"
#include "lua-5.3.4/src/lauxlib.h"
#include "lua-5.3.4/src/lualib.h"
int main(){
char buff[256];
int error;
lua_State *L = luaL_newstate();
luaL_openlibs(L);
while (fgets(buff, sizeof(buff), stdin)!=NULL){
 error = luaL_loadstring(L, buff) || lua_pcall(L, 0, 0, 0);
 if(error){
  fprintf(stderr, "%s\n", lua_tostring(L, -1));
  lua_pop(L, 1);
 }
}
lua_close(L);
return 0;
}

 

.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Erro interpretador lua de linha de comando

wederson cabral
agora sim esta funcionando perfeitamente, muito obrigado !

Em segunda-feira, 8 de maio de 2017 09:39:53 UTC-3, Denis Dos Santos Silva escreveu:
você está esquecendo de adicionar a biblioteca lua (ou os objetos que compõe a biblioteca)

tente: 
gcc codigo.c -o executavel <diretorio-onde-ta-o-lua/liblua.a> 
## nesse caso está "linkando" com a biblioteca estática 


Em segunda-feira, 8 de maio de 2017 09:16:08 UTC-3, wederson cabral escreveu:
Bom dia!

Estou tentando compilar o exemplo da página 257 do livro Programando em LUA, que é um interpretador Lua de linha de comando simples. Porem sempre que eu tento compilar é me retornado "undefined reference" para qualquer função LUA que eu tente chamar, como mostra a imagem no link abaixo:

<a onmousedown="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fimage.prntscr.com%2Fimage%2Ffbf4c2da23824587a8e06f4abbf46e23.png\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFYT1GxCuDI7FVjN7WXk0ykCkjXqA&#39;;return true;" onclick="this.href=&#39;http://www.google.com/url?q\x3dhttp%3A%2F%2Fimage.prntscr.com%2Fimage%2Ffbf4c2da23824587a8e06f4abbf46e23.png\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNFYT1GxCuDI7FVjN7WXk0ykCkjXqA&#39;;return true;" href="http://image.prntscr.com/image/fbf4c2da23824587a8e06f4abbf46e23.png" target="_blank" rel="nofollow">Erros retornados.

Eu compilei a source de lua utilizando o mingw no Windows 10 64-bits.

Estou tentando compilar o código utilizando o GCC. "gcc código.c -o executavel"

Código que eu estou tentando compilar:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lua-5.3.4/src/lua.h"
#include "lua-5.3.4/src/lauxlib.h"
#include "lua-5.3.4/src/lualib.h"
int main(){
char buff[256];
int error;
lua_State *L = luaL_newstate();
luaL_openlibs(L);
while (fgets(buff, sizeof(buff), stdin)!=NULL){
 error = luaL_loadstring(L, buff) || lua_pcall(L, 0, 0, 0);
 if(error){
  fprintf(stderr, "%s\n", lua_tostring(L, -1));
  lua_pop(L, 1);
 }
}
lua_close(L);
return 0;
}

 

.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.