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