Gcc libluajit-5.1.so.2:cann';t打开共享对象文件:没有这样的文件或目录
我想在我的主机上测试luajit的c api,以下是我的代码:Gcc libluajit-5.1.so.2:cann';t打开共享对象文件:没有这样的文件或目录,gcc,lua,Gcc,Lua,我想在我的主机上测试luajit的c api,以下是我的代码: #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_pus
#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;
}
但当我运行它时
$ ./test_lua
它提示,
./test_lua: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory
有人知道怎么解决吗?设置LD\u LIBRARY\u PATH变量,使其引用libluajit-5.1.so.2 live目录 命令:
导出LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH设置LD_LIBRARY_PATH变量,将其引用到libluajit-5.1.so.2 live目录 命令:
export-LD\u-LIBRARY\u-PATH=/usr/local/lib:$LD\u-LIBRARY\u-PATH运行
strace-e-open./test\u-lua
会告诉您它试图加载的共享库的实际路径。然后看看它有什么问题(错误消息声称它不在那里)。可能您需要安装一些开发包或设置LD_LIBRARY\u PATH
。strace
仅限于Linux,顺便说一句。对于BSD,有ktrace
/kdump
,OSX有dtrus
,等等。运行strace-e open./test_lua
应该告诉您它试图加载的共享库的实际路径。然后看看它有什么问题(错误消息声称它不在那里)。可能您需要安装一些开发包或设置LD_LIBRARY\u PATH
。strace
仅限于Linux,顺便说一句。对于BSD,有ktrace
/kdump
,OSX有dtrus
,等等。
./test_lua: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory