从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. Go Web:Cookie

    Cookie用来解决http协议无状态的问题. 首先,在服务端生成Cookie,然后在http响应header中设置Set-Cookie字段,客户端会读取到Set-Cookie字段后,会将cookie ...

  2. JavaScript 系列博客(三)

    JavaScript 系列博客(三) 前言 本篇介绍 JavaScript 中的函数知识. 函数的三种声明方法 function 命令 可以类比为 python 中的 def 关键词. functio ...

  3. 20.Module 的语法

    Module 的语法 Module 的语法 概述 历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来.其他语言都有这项功能, ...

  4. 《C#并发编程经典实例》学习笔记—2.1 暂停一段时间

    问题: 需要让程序(以异步方式)等待一段时间. 解决方案:Task类的静态函数Delay,返回Task对象 在github开源项目dotnet/coreclr,找到Task.cs有关Delay方法的源 ...

  5. [转]GitLab Continuous Integration (GitLab CI/CD)

    本文转自:https://docs.gitlab.com/ee/ci/README.html GitLab Continuous Integration (GitLab CI/CD) The bene ...

  6. JQuery官方学习资料(译):$ vs $()

    直到现在,我们一直是通过一个jQuery对象来调用函数的,例如: $( "h1" ).remove();      大多数jQuery函数是通过jQuery对象调用的,这是$.fn ...

  7. 各种官网系统镜像文件(Windows 7 ,Windows 10,Ubuntu 18.6,Centos 6.8 ,Centos 7.6 )

    在以前的刚进去计算机行业的时候,学的第一件事就是装系统,在网上苦于找不到正版的系统,这些是一直以来,见识的比较稳定的,有些是从官网下载的系统,给大家分享一哈.大家如果有用到其他好的系统,可以给我留言或 ...

  8. 重装MacOS

    从U盘启动 开启或重新启动您的 Mac 后,立即按住 Option 键。 当您看到“启动管理器”窗口时,松开 Option 键。 选择您的启动磁盘,然后点按箭头或按下 Return 键。 Mac 的启 ...

  9. trivial and nontrivial

    Trivial A solution or example that is ridiculously simple and of little interest. Often, solutions o ...

  10. Netty 系列九(支持UDP协议).

    一.基础知识 UDP 协议相较于 TCP 协议的特点: 1.无连接协议,没有持久化连接:2.每个 UDP 数据报都是一个单独的传输单元:3.一定的数据报丢失:4.没有重传机制,也不管数据报是否可达:5 ...