从Lua5.1开始官方给出的文件只有源代码和makefile文件了,官网给出的bulid方式也是在linux平台,如果只是想找个库使用下可以到这里来下载:http://joedf.ahkscript.org/LuaBuilds/ ,如果需要自定修改库配置的话,就需要自己编译。这里主要参考文章在Windows下使用Visual Studio编译Lua5.3中的方式利用VS编译lua库文件,不过你也可以参考 windows下编译lua几种方法这里所述的几种方式。

链接库编译

  • 使用Visual Studio创建一个VC++项目,项目命名为Lua53,项目类型为静态库、不设置预编译头。
  • 删除Visual Studio自动创建的.cpp文件及其对应的.h文件。
  • 将下载的Lua代码解压,将src目录下的全部文件拷贝到项目中,然后删除lua.c、luac.c和lua.hpp这三个文件。
  • 编译项目会得到一个Lua53.lib的文件,这就是我们编译得到的Lua链接库。

Lua解释器

Lua解释器是一个可以直接运行Lua代码的可执行文件,因此

  • 在同一个解决方案下继续创建VC++项目,项目命名为Lua,项目类型为控制台应用程序、需设置预编译头。
  • 删除Visual Studio自动创建的.cpp文件及其对应的.h文件。
  • 将下载的Lua代码解压,将src目录下的全部文件拷贝到项目中,然后删除luac.c这个文件。
  • 设置当前项目依赖于Lua53项目
  • 编译项目会得到一个Lua.exe文件,这就是我们编译得到的Lua解释器。

Lua编译器

  • 在同一个解决方案下继续创建VC++项目,项目命名为Lua,项目类型为控制台应用程序、需设置预编译头。
  • 删除Visual Studio自动创建的.cpp文件及其对应的.h文件。
  • 将下载的Lua代码解压,将src目录下的全部文件拷贝到项目中,然后删除lua.c这个文件。
  • 设置当前项目依赖于Lua53项目
  • 编译项目会得到一个Luac.exe文件,这就是我们编译得到的Lua解释器。

遇到的问题

  • Main 函数找不到: 可能是项目类型不是控制台程序引起,项目属性-->连接器-->系统中设置
  • stdafx.h 找不到: 属性-->C/C++-->预编译头 取消预编译头

参考

Lua lib dowlaod
官网bulid方式

工程下载链接:http://pan.baidu.com/s/1skQUJmP ,包含lpeg、struct库

WIndows 使用VS编译 Lua5的更多相关文章

  1. Win7 64位 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...

  2. Win7 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...

  3. 原创 C++应用程序在Windows下的编译、链接:第一部分 概述

    本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.ex ...

  4. 【FFmpeg】Windows下FFmpeg编译

    由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...

  5. Libevent windows/linux下编译

    1.windows下: 编译环境: windows xp sp3 + vs2010 (1)    解压libevent-2.0.21-stable.tar.gz到D:\libevent-2.0.21- ...

  6. 开源的excel读取库libxls在windows下的编译,且支持中文,全网首发

    转载请注明出处:http://www.cnblogs.com/superbi/p/5482516.html 到目前为止,网络和官网上并没有关于libxls在windows下支持中文的教程,也没有现成的 ...

  7. C++应用程序在Windows下的编译、链接(一)概述

    C++应用程序在Windows下的编译.链接(一)概述 本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 c ...

  8. ACE在windows下的编译及配置(VS2010)

    ACE在windows下的编译及配置(VS2010) 分类:             -[小西南]-              2013-08-06 16:17     2354人阅读     评论( ...

  9. [转]QGis2.9在windows下的编译以及二次开发包下载

    今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...

随机推荐

  1. [转]innodb的锁时间

    本文转自:https://www.cnblogs.com/sunss/p/3170132.html 观察innodb的锁时间,需要关注: mysqladmin extended-status -r - ...

  2. 获取json串里的某个属性值

    string jsonText = "{\"beijing\":{\"zone\":\"海淀\",\"zone_en\& ...

  3. C#窗体越界时鼠标还能回到初始坐标位置

    对窗体加越界限制后,鼠标拖动窗体越界时,窗体不能动,鼠标位置可动,但窗体不再越界时,鼠标位置还能回到鼠标按下时相对窗体的坐标:1.首先创建一个窗体Form1,然后在窗体上拖一个button1按钮(主要 ...

  4. [Linux] Nginx 提供静态内容和优化积压队列

    1.try_files指令可用于检查指定的文件或目录是否存在; NGINX会进行内部重定向,如果没有,则返回指定的状态代码.例如,要检查对应于请求URI的文件是否存在,请使用try_files指令和$ ...

  5. Netty 系列一(核心组件和实例).

    一.概念 早期的 Java API 只支持由本地系统套接字库提供所谓的阻塞函数来支持网络编程.由于是阻塞 I/O ,要管理多个并发客户端,需要为每个新的客户端Socket 创建一个 Thread .这 ...

  6. 读书笔记--Android Gradle权威指南(上)

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...

  7. javascript对象与方法

    对象与方法 一.数组(Array) 1.使用new关键字创建数组 var box = new Array();                                     //创建了一个数 ...

  8. JavaScript之Object对象常用属性与方法手册

    MDN Object参考地址:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Obje ...

  9. cf24D. Broken robot(高斯消元)

    题意 题目链接 Sol 今天上午的A题.想出来怎么做了但是没时间写了qwq 思路很简单,首先把转移方程列一下,发现每一个位置只会从下一行/左右转移过来,而且第N行都是0,那么往下转移的都可以回带. 剩 ...

  10. input的type类型

    对部分生僻的input属性值解释: type="reset": 可以一键清空form表单里面所有的数据 <form> <input type="text ...