cmake编译lua

lua 5.1.5源码

 

创建一个CMakeList.txt文件

复制代码
cmake_minimum_required(VERSION 3.10.0)

set(Proj_Name "mylua")
project(${Proj_Name})

set(CMAKE_C_STANDARD 90) # 使用C98/ANSI C

include_directories("src") # 设置头文件搜索目录

aux_source_directory("src" Lua_Lib_Src) #遍历src目录的源码文件, 存放在变量${Lua_Lib_Src}上
list(REMOVE_ITEM Lua_Lib_Src "src/lua.c") #删掉${Lua_Lib_Src}中的src/lua.c条目

file(GLOB Lua_Src "src/lua.c")

aux_source_directory("src" Luac_Src) #遍历src目录的源码文件, 存放在变量${Luac_Src}上
list(REMOVE_ITEM Luac_Src "src/lua.c")

add_definitions(-DLUA_BUILD_AS_DLL) #定义宏LUA_BUILD_AS_DLL

add_library("lua51" SHARED ${Lua_Lib_Src}) # 源码编译生成动态库
#add_library("lua51_s" STATIC ${Lua_Lib_Src}) # 源码编译生成静态库

add_executable("lua" ${Lua_Src}) # 生成exe文件
target_link_libraries("lua" "lua51") # 目标lua的库文件搜索路径
add_executable("luac" ${Luac_Src}) # 生成可执行文件
复制代码

 

用MinGW编译

1, 先用cmake-gui根据CMakeList.txt生成make文件(Configure设置为MinGW Makefiles,点击Generate)

等同于用cmake命令cmake -S . -B build -G "MinGW Makefiles"

 

2, 用MinGW根据生成的make文件编译代码

命令行 -> 进入build文件夹 -> 输入mingw32-make, 就会根据make文件开始编译了

 

3, 编译后生成的文件

 

4, 如果之前勾了GNUtoMS,将额外生成Windows平台上的库文件(即:.lib文件)

 

 

用Visual Studio编译

1, 先用cmake-gui根据CMakeList.txt生成.vcxproj和.sln文件

 

2, 双击生成的sln文件,打开Visual Studio,然后生成解决方案

 

3, 编译后生成的文件

 

 

参考

Windows下lua的编译与环境搭建_lua windows-CSDN博客

c++ 编译添加dll_VS2019编译lua源码-CSDN博客

 

posted @   yanghui01  阅读(179)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示