我在创建我的本地Lua库时遇到了一些问题。我看过几个教程,一步一步地教我如何做,但它总是给出这些错误。
关于这个错误,它说有三个未定义的引用,但我很肯定所有的头文件都在项目中。
这是我的C代码:
#include "lua.h"
#include "lauxlib.h"
#include <stdio.h>
static int l_mult50(lua_State *L) {
double number = luaL_checknumber(L, 1);
lua_pushnumber(L, number*50);
return 1;
}
int luaopen_libnativefunc(lua_State *L) {
static const struct luaL_Reg nativeFuncLib [] =
{
{"mult50", l_mult50},
{NULL, NULL}
};
luaL_register(L, "nativelib", nativeFuncLib);
return 1;
}
我做的和我在一个教程中看到的完全一样,因为我希望至少编译到dll的步骤能够工作。
如何编译:
第一个
我的文件夹:
1条答案
按热度按时间ulydmbyx1#
我假设你需要它来编译你自己的C库(因为代码和LOVE论坛上的教程完全一样)。你忘了在GCC命令中包含“lua51.dll”。首先,你需要去你安装“LOVE”的文件夹,从那里借用DLL文件,并把它放在你的项目的文件夹中(你的“nativefunc.c”所在的文件夹)。
然后,您可以使用以下命令运行批处理文件:
另外,不要忘记检查DLL是否使用了与GCC编译器相同的处理器架构(x64或x86)。如果不是,DLL将与程序不兼容,您将收到以下错误:“%1不是有效的Win32应用程序”。