【发布时间】:2021-07-06 12:55:34
【问题描述】:
相关:
How to compile srlua?
How do I Make an executable Lua script using srlua?
第一个链接是我在这里提出的确切问题。但是,唯一的答案并不令人满意,因为它假设了多种情况,即 OP 已经在使用 Cmake(OP 对答案的评论反驳了这一事实)。第二个链接似乎已经是教程的大部分内容,虽然提供了指向 srlua.exe 和 srglue.exe 的预编译二进制文件的链接,但该链接不再包含二进制文件,而是包含源代码。
我在不同的网站上发现了其他几个主题,它们都在问同样的问题,但它们都假设您基本上已经知道如何做,或者什么也不解释(很多都有可能有用的链接,但它们已经过时且不再有效) .
我已经尝试编译 srlua,得到了一个 srglue.exe,但是当我尝试 srlua.c 时,我得到了一个未定义的引用列表(例如“lua_type”或“lua_getfield”)。
lua_getfield, lua_type, lua_settop, lua_getfield, lua_type, lua_settop, lua_pushstring, lua_pushinteger, lua_call, lua_pushfstring, lua_load, lua_tolstring, lua_tointeger, lua_touserdata, luaL_openlibs, lua_createtable, lua_pushstring, lua_rawseti, lua_setfield, luaL_checkstack, lua_pushstring, lua_call, lua_tolstring, luaL_callmeta, lua_type, lua_type, lua_typename, lua_pushfstring, luaL_newstate, lua_pushcclosure, lua_pushcclosure, lua_pushinteger, lua_pushlightuserdata, lua_pcall, lua_tolstring, lua_close
我的问题是:
如何使用 C 编译器(我知道 gcc 的基础知识)专门编译 srlua?或者,如果有人有指向预编译二进制文件的有效链接或编译二进制文件的工具,他们可以分享吗?
重要提示:我在 Windows 上。因此,我不能只使用make。我必须实际将 .c 文件编译为 .exe 文件。我在问怎么做。如果您只是提供指向具有上述问题的线程的链接,那么您将无济于事。如果您给出的答案假定您对没有良好文档的特定工具有深入的先验知识,那么您将无济于事。如果您告诉我要使用的工具,而不是编译 srlua 的具体过程,那么您将无济于事。如果有更好的地方,请告诉我,我可以把它移到那里。
【问题讨论】:
-
您需要将 srlua.obj 与 Lua 库链接。如果您将 Lua 库作为 DLL,您可能需要将该 DLL 放在同一个文件夹中。很抱歉,我无法为您提供更准确的 Windows 说明。
-
我没有 srlua.obj。我应该用 srlua.c 来做吗?
-
你使用的是什么 gcc 命令行?
-
我使用的是 TDM-GCC(不是 Mingw)。
标签: windows lua compilation