zoukankan      html  css  js  c++  java
  • Windows中编译Lua源码

    Windows中编译Lua源码

    生成静态库

    1. 下载Lua源码,我下载的是Lua-5.3.0
    2. 新建项目,选择Visual C++ -> Win32 -> Win32项目;项目名lualib,点击下一步选择“静态库”,取消勾选“预编译头”,点击完成。
      图1
    3. 将Lua源文件中的src文件夹及之下的所有文件拷贝到项目文件下,然后将src中的所有*.h文件拷贝到项目的头文件中,将src中所有的*.c文件拷贝到源文件中。
      图2
      图3
    4. 点击项目-属性,在配置属性->C/C++->常规->附加包含目录中添加刚才拷贝的项目目录下src的路径;在高级选项中的编译为选择C代码或C++代码(如果编译为C++代码,编译完后将lua.hpp中的extern “C”注释掉)。
      图4
      图5
    5. 编译生成库文件,在DEBUG模式下生成debug版本,在RELEASE目录下生成release版本。在配置管理器中Win32平台下,生成32位版本,在x64平台下生成64位版本。
      图6
      图7

    解决方案下载连接(已编译出静态库)


    测试
    1. 在解决方案中新建Test项目,右键项目->设为启动项目,配置属性如下图
    如下图

    1. 测试如下代码
    #include <iostream>
    #include <lua.hpp>
    
    using namespace std;
    
    int main(void)
    {
        lua_State *state = luaL_newstate();
        luaL_openlibs(state);
        //const char *buf = "print('Hello world')";
        luaL_dofile(state, "main.lua");
        //luaL_dostring(state, buf);
        lua_close(state);
        system("pause");
        return 0;
    }
    

      main.lua

    print("Hello World!");

      运行结果
    result

    编译Lua动态链接库、解释器与编译器

    在src的同级目录下,创建如下bat脚本。

    生成Lua动态链接库、解释器、编译器

    rem to generate dynamic link library
    cd src
    cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c
    del lua.obj
    link /DLL /out:lua53.dll l*.obj
    rem to generate interpreter
    cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c
    link /out:lua.exe lua.obj lua53.lib
    rem to generate compiler
    del lua.obj
    link /out:luac.exe l*.obj
    cd ..
    cd ..

    进入VS 命令行工具,运行上面的脚本文件。
    命令行

    编译结果
    编译结果

    参考资料
    1. Windows下编译Lua源码

  • 相关阅读:
    php-beanstalkd消息队列类分享
    php curl抓取类分享
    df -i 100%时处理方法
    php生成红包
    PHP牛牛游戏算法
    Yii 框架不同逻辑处理方法统一事务处理
    Linux上web服务器搭建
    Linux 上pcntl安装步骤
    PHP错误级别设置
    day40 ,epoll,数据库相关概念
  • 原文地址:https://www.cnblogs.com/corfox/p/5414997.html
Copyright © 2011-2022 走看看