Visual Studio编译Lua库
最近有空打算把lua的源码仔细看下,就用vs编个lib,需要细看时在断点进去看比较详细。
下面主要是编 链接库 和 解释器 的说明
Lua由三部分组成,即
- Lua链接库
- Lua解释器
- Lua编译器
因此,对于Lua源代码的编译主要就是编译Lua链接库、Lua解释器和Lua编译器
- 已经把工程上传到git,可以用 vs2013 直接生成并加载运行 test.lua 文件,lua版本是5.2.2
- https://github.com/yangxuan0261/lua522
- 云风的 Lua 源码欣赏
- http://www.codingnow.com/temp/readinglua.pdf
1. 编译Lua链接库
新建一个vs工程 lua5.2.2,并考入lua的源码
使用Visual Studio创建一个VC++项目,项目命名为Lua53,项目类型为 静态库、不设置预编译头。
加入一个预处理的定义 _CRT_SECURE_NO_WARNINGS,不然报这个错:
C4996 ‘strerror’: This function or variable may be unsafe.
删除Visual Studio自动创建的.cpp文件及其对应的.h文件。将下载的Lua代码解压,将src目录下的全部文件引入到项目中,然后删除 lua.c、luac.c 和 lua.hpp 这三个文件。
生成。会得到一个 lib 的文件,这就是我们编译得到的 Lua链接库。
2. 编译Lua解释器
在同一个解决方案下继续创建VC++项目,项目命名为Lua,项目类型为 控制台应用程序、不设置预编译头。
加入一个预处理的定义 _CRT_SECURE_NO_WARNINGS,不然报这个错:
C4996 ‘strerror’: This function or variable may be unsafe.
删除Visual Studio自动创建的.cpp文件及其对应的.h文件。将下载的Lua代码解压,将src目录下的全部文件引入到项目中,然后删除 luac.c 这个文件。
生成。会得到一个 exe 的文件,这就是我们编译得到的 Lua解释器。
3. 编译Lua编译器
在同一个解决方案下继续创建VC++项目,项目命名为Lua,项目类型为控制台应用程序、不需设置预编译头。(同解释器一样)
加入一个预处理的定义 _CRT_SECURE_NO_WARNINGS,不然报这个错:
C4996 ‘strerror’: This function or variable may be unsafe.
删除Visual Studio自动创建的.cpp文件及其对应的.h文件。将下载的Lua代码解压,将src目录下的全部文件引入到项目中,然后删除lua.c这个文件。
生成。会得到一个Luac.exe文件,这就是我们编译得到的Lua解释器。
Visual Studio编译Lua库相关推荐
- lua基础学习(1):使用Visual Studio编译lua和luac
lua基础学习(1):使用Visual Studio编译lua和luac 0. 背景 本篇博客作为lua基础学习的第一篇博客,主要介绍使用Visual Studio对lua5.0进行编译,目的是获得l ...
- 使用 Visual Studio 编译 wget 为库文件
添加代码与预编译指令与上一篇使用 Visual Studio 编译 wget 为可执行文件一致,区别在于这回建的是静态库工程(编译为动态库过程类似:)) 从wget的main函数开始读下来,发现问题不 ...
- 【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )
文章目录 一.Windows 动态库简介 二.Visual Studio 调用动态库 一.Windows 动态库简介 在 C:\Windows\System32 目录中 , 存放着 Windows 中 ...
- 【Qt】Visual Studio编译Qt项目报Qt Version错误
00. 目录 文章目录 00. 目录 01. 问题描述 02. 开发环境 03. 问题分析 04. 问题解决 05. 附录 01. 问题描述 使用Visual Studio编译Qt项目时候,报以下错误 ...
- VC++编译lua库 无法解析lua符号问题
VC编译lua库 出现错误: 错误 36 error LNK1120: 21 个无法解析的外部命令 C:\Users\luozhuang\Desktop\onscripter-20120416VC\R ...
- Visual Studio使用opencv库
1.准备好与vs版本对应的OpenCV,下载网址:https://opencv.org/release/ 2.opencv 配置环境变量 ①. 在环境变量中添加:OPENCV_DIR,它的值指向Ope ...
- visual studio编译boost1.73.0静态库32位和64位
使用vs2015编译32位 REM 使用vs2015,如果vs2019将下面的vc14替换为vc142(特殊:--toolset=msvc-14.2 CALL bootstrap vc14 CALL ...
- Qt 联合Visual Studio编译打包发布
1.qt 查找项目中使用到的qt动态链接库: 步骤如下 ①打开项目使用的windeployqt工具(qt自带的工具): ②进入到文件夹所在目录:使用 cd 命令 ③使用命令:windeployqt N ...
- visual studio编译错误集(转)
1.error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 在项目属性-&g ...
最新文章
- Linux 文件 IO
- For in + 定时器
- iscroll.js 下拉刷新和上拉加载
- Spring Boot系列教程六:日志输出配置log4j2
- 酷客多小程序受邀参加 中国县域连锁药店发展峰会
- VDI成长之路:Windows桌面优化配置(持续更新-20120227)
- C++构造函数(复制构造函数)、析构函数
- Linux(centos7下载安装)
- 【通信系统信道估计】
- 博思得标签打印机驱动_博思得打印机驱动
- 笔记本电脑如何安装Linux系统
- 关于数据库系统的查询处理
- PHP实现站内信设计思路与方案
- Digital Photo Professional 4 如何导出jpg
- 想念食品更新招股书:利润下滑、毛利率走低,孙君庚夫妇为实控人
- ofd格式文件转换成pdf格式的方法
- 如何把char类型的数字字符转换成int类型
- 【人工智能行业大师访谈】1. 吴恩达采访 Yoshua Bengio
- linux版本怎么安装qq游戏,Ubuntu中使用Wine玩QQ游戏(附图)
- java mp3,audio - 在Java中播放.mp3和.wav?
热门文章
- 【二】2D测量 Metrology——set_metrology_object_fuzzy_param()算子
- DIN3系列小体积低成本变送器模块
- 《一笔流书》草书字体视觉再设计—以张旭《李清莲序》为例
- 积分返利概念我们该怎样去结合模式去运营呢?
- 架构师眼中的文化:组织不扁平,3天后信息衰减到20%
- Project 2007安装出现错误及解决方案
- 曾国藩《挺经》卷十六荷道
- 曾国藩《挺经》卷十五忠疑
- 长生不老药?售价八亿?
- ffmpeg php 抠像_利用 Avisynth 2.5.8 的 ColorKeyMask 功能实现视频抠像