我正在尝试遵循给定的基本指南 here关于将 lua 嵌入到 C 中。我将代码逐字复制到我自己的 embed.c 文件中并执行列出的确切编译器命令:
cc -o embed embed.c \
-I/usr/local/include \
-L/usr/local/lib \
-llua -llualib
我得到错误:
embed.c:19:14: error: invalid storage class for function ‘openlualibs’
之后我将函数移到 main
之外,再次编译,得到:
/usr/bin/ld: cannot find -llualib
我不知道为什么我不能编译它。 lua安装正确。还有其他人遇到过这些问题吗?如果这是一个糟糕的教程,请随时将我引导到一个连击教程。
最佳答案
在某些 Linux 发行版上,您可能需要安装 lua-devel
(或类似命名的)包,以获得针对包编译和链接项目所需的正确头文件和库符号链接(symbolic link)。如果你有 liblualib-<version>.so.<version>
,例如 liblualib-5.so.5.0
,您可能需要安装开发包。
从 lua 5.1 开始,liblualib
不存在。这是发布公告:http://lua-users.org/lists/lua-l/2005-05/msg00186.html
关于c - 在c中嵌入lua代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11728128/