[英]Error calling C from Lua
我尝试了这个例子并且与Lua有一些问题:
icc -Wall -shared -fPIC -o power.so hellofunc.c -I/home/lukas/Workspace/Lua/LuaC -L/home/lukas/Workspace/Lua/LuaC/ -llua52
编译hellofunc.c
文件没有问题,但是当我尝试运行Lua-File时,我收到以下错误消息:
lua LuaC.lua
lua: error loading module 'power' from file './power.so':
liblua52.so: cannot open shared object file: No such file or directory
stack traceback:
[C]: in ?
[C]: in function 'require'
LuaC.lua:1: in main chunk
[C]: in ?
LuaC.lua
require("power")
print(square(1.414213598))
print(cube(5))
Lua库和头文件位于同一文件夹中。
由于您已在主目录中而不是在系统文件夹(例如/usr
)下安装了Lua,因此加载程序在运行程序时不知道在哪里可以找到Lua动态库文件。
您可以通过将LD_LIBRARY_PATH
环境变量设置为指向包含Lua动态库文件的文件夹来解决此问题,例如:
export LD_LIBRARY_PATH=/home/lukas/Workspace/Lua/LuaC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.