这个lua 来自于 skynet/tree/master/3rd/lua
新建 uselua 目录, 把 lua 文件夹拷贝到 uselua 目录下
lua 目录里新建 CMakeLists.txt
~/cpp/uselua/lua $ cat CMakeLists.txt
ADD_DEFINITIONS(-DLUA_USE_LINUX -std=gnu99)
add_library (lualib STATIC lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c lmathlib.c loslib.c lstrlib.c ltablib.c loadlib.c linit.c lutf8lib.c)
set_target_properties(lualib PROPERTIES OUTPUT_NAME "lua") # rename the library output name
link_directories (${LUA_BINARY_DIR})
add_executable (lua lua.c)
target_link_libraries (lua lualib dl readline)
if(UNIX)
target_link_libraries( lua m )
endif()
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-E")
link_directories (${LUA_BINARY_DIR})
add_executable (luac luac.c)
target_link_libraries (luac lualib dl readline)
if(UNIX)
target_link_libraries( luac m )
endif()
uselua 目录下 的 CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(uselua)
set(SYS_LIBS lualib dl)
if(APPLE)
list(APPEND SYS_LIBS -lm -lpthread)
ADD_DEFINITIONS(
-DMACO

本文详细介绍如何使用CMake构建Lua环境,包括设置Lua库、动态链接、编译C/C++程序调用Lua脚本及模块。通过实例演示了如何在C/C++项目中集成Lua脚本,实现代码的灵活扩展。
最低0.47元/天 解锁文章
941





