Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – srlua makefile错误lua.h没有这样的文件或目录大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在尝试使用srlua将我的lua文件编译为可执行文件,但我遇到了问题. anthony@anthony-linux:~/Downloads/srlua$make gcc -I/tmp/lhf/lua-5.2.0/src -ansi -pedantic -Wall -Wextra -O2 -c -o srlua.o srlua.c srlua.c:19:17: fatal error:
我正在尝试使用srlua将我的lua文件编译为可执行文件,但我遇到了问题.

anthony@anthony-linux:~/Downloads/srlua$make
gcc -I/tmp/lhf/lua-5.2.0/src -ansi -pedantic -Wall -Wextra -O2    -c -o srlua.o srlua.c
srlua.c:19:17: Fatal error: lua.h: No such file or directory
compilation terminated.
make: *** [srlua.o] Error 1

我正在运行linux 64bit(ubuntu)

编辑:我尝试更改我的makefile的设置,但现在我得到了这个

anthony@anthony-linux:~/Downloads/srlua$sudo make
gcc -I/usr/local/include -ansi -pedantic -Wall -Wextra -O2    -c -o srlua.o srlua.c
srlua.c:19:17: Fatal error: lua.h: No such file or directory
compilation terminated.
make: *** [srlua.o] Error 1

解决方法

我怀疑sudo会有所帮助.问题是GCC找不到lua.h,这意味着你没有告诉它在哪里找到编译链接Lua核心的程序所需的开发人员文件.您可能需要识别文件夹,例如/usr/local/lua / include.

您可能还安装了Lua可执行程序包,但未安装开发人员程序包.如果是这样,您将需要找到并安装该软件包.像这样的命令

$apt-get install liblua5.1-0-dev

为Lua 5.1做到了这一点.

如果您从源代码构建Lua 5.2,那么您拥有所需的所有文件,您只需要告诉srlua的makefile在哪里找到它们.

已经成功地在Windows上使用Lua 5.1构建和使用了srlua,但是还不需要在Ubuntu上尝试这个,所以我不能更具体.

更新:

你的pastebin,试试这个:

# these will probably work if Lua has been installed globally
LUA= /usr/include/lua5.1
LUAINC= /usr/include/lua5.1
LUALIB= /usr/lib/lua/5.1
LUABIN= /usr/bin

您在$(LUAINC)的定义中输入了拼写错误.您需要找到liblua.a并在$(LUALIB)的定义中命名正确的文件夹.我没有在我方便的Ubuntu盒子上安装lua dev软件包,所以我不确定它放在哪里.

更新2:您越来越近了,因为您已经超越了编译器配置并进入了链接器配置问题.

在我的Ubuntu框中,Lua的库似乎是/usr/lib/liblua5.1.a,并且没有名为liblua.a的文件.所以对我来说-llua无法奏效.我能够编制一个最简单的“你好世界”……

#include "lua.h"
#include "lauxlib.h"
int main(int argc,char **argv)
{
    lua_State *L = luaL_newstate();
    luaL_openlibs(L);
    luaL_doString(L,"print('Hello,'.._VERSION)");
    return 0;
}

用命令

$gcc -I/usr/include/lua5.1 -o Hello Hello.c -llua5.1 -lm
$./Hello
Hello,Lua 5.1
$

也许你应该做一个类似的最小例子工作,然后回去调整srlua makefile.

大佬总结

以上是大佬教程为你收集整理的linux – srlua makefile错误lua.h没有这样的文件或目录全部内容,希望文章能够帮你解决linux – srlua makefile错误lua.h没有这样的文件或目录所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。