我今天制作了一个程序,我想知道如何使它成为可执行文件。我已经研究过了,我想出了使用srlua。我以前曾经问过这个问题,但我经常搞砸了同样的指令。我被告知要编译srlua'虽然我在编译srlua后确切知道该做什么,但我现在还不知道如何编译它们。
我已经浏览了一些YouTube教程,我设法找到一个但只有西班牙语。我能够稍微跟进,直到他下载了预编译的srlua版本,其中下载链接不再出现在他所在的同一页面上。
有人能够解释他们想说的话吗?
答案 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 )
,这对我来说是错误的错误(它只在删除该行时构建)。