0
我想测试我的主机luajit的C API,下面是我的代码:libluajit-5.1.so.2:水湿打开共享对象文件:没有这样的文件或目录
#include <stdio.h>
#include <luajit.h>
#include <lualib.h>
#include <lauxlib.h>
int main()
{
lua_State *L;
L=luaL_newstate();
luaL_openlibs(L);
lua_pushnumber(L,10);
lua_pushstring(L,"hello");
lua_pushboolean(L,0);
lua_close(L);
//printf("luatop:%d\n",lua_gettop(L));
return 0;
}
然后我编译它用gcc:
gcc -I /usr/local/include/luajit-2.0/ -lluajit-5.1 test_lua.c -o test_lua
但是当我运行它
$ ./test_lua
它提示的是,
./test_lua: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
有人知道如何解决它?
运行'strace的-e开/ test_lua'应该告诉你的共享库它试图的实际路径。加载。然后看看它有什么问题(错误消息声称它不存在)。这可能是你需要安装一些开发包或设置'LD_LIBRARY_PATH' ... – siffiejoe
'strace'是Linux的唯一,顺便说一句。 BSD有'ktrace' /'kdump',OSX有'dtruss'等。 – siffiejoe