如何编译srlua?

时间:2017-12-04 22:13:44

标签: lua

我今天制作了一个程序,我想知道如何使它成为可执行文件。我已经研究过了,我想出了使用srlua。我以前曾经问过这个问题,但我经常搞砸了同样的指令。我被告知要编译srlua'虽然我在编译srlua后确切知道该做什么,但我现在还不知道如何编译它们。

我已经浏览了一些YouTube教程,我设法找到一个但只有西班牙语。我能够稍微跟进,直到他下载了预编译的srlua版本,其中下载链接不再出现在他所在的同一页面上。

有人能够解释他们想说的话吗?

1 个答案:

答案 0 :(得分:0)

你需要告诉CMake它需要的Lua文件在哪里。

对我来说,Lua包含在/usr/include/luaX.X中,其中X.X是您的版本号,例如5.3。 Lua库可能位于/usr/lib(文件名为libluaX.X.so)。

如果地理位置不同,您可以尝试find / | grep "lua.h"find / | grep "liblua"

找到lua.h所在的文件夹以及liblua5.3.so之类的相应库文件后,您需要将这些文件添加到srlua文件夹中的CMakeLists.txt文件中。 例如,使用lua5.3,您可以替换此行:

include_directories(${LUA_INCLUDE_DIR})

这一个:

include_directories(/usr/include/lua5.3)

对于库,您可以替换它:

target_link_libraries(glue ${LUA_LIBRARIES})
target_link_libraries(srlua ${LUA_LIBRARIES})

用这个:

target_link_libraries(glue /usr/lib/liblua5.3.so)
target_link_libraries(srlua /usr/lib/liblua5.3.so)

在此之后,在srlua文件夹中运行cmake ./,然后运行make。应该建立srlua

注意:您可能还必须删除行find_package ( Lua REQUIRED ),这对我来说是错误的错误(它只在删除该行时构建)。