1.首先下载lua 5.1 https://www.lua.org/versions.html
安装vs2017or2013
2.lua编译
新建一个code目录下建立src目录

lua编程 通信 lua编程下载_c++


lua编程 通信 lua编程下载_lua_02

新建一个项目

lua编程 通信 lua编程下载_解决方案_03

右键项目选择dll

lua编程 通信 lua编程下载_lua编程 通信_04

再将lua的源码导入进来可以再项目路径下专门新建一个目录存储lua代码

lua编程 通信 lua编程下载_lua_05


lua编程 通信 lua编程下载_c++_06

直接点击这个

lua编程 通信 lua编程下载_c++_07

会报错

lua编程 通信 lua编程下载_开发语言_08

修改两个main函数分别再lua.c luac.c文件里面

lua编程 通信 lua编程下载_解决方案_09

重新生成一下 发现生成成功了同时会在Debug目录下生成dll

lua编程 通信 lua编程下载_lua编程 通信_10

现在我们要指定一下生成的dll路径以及lib路径方便我们后续使用

如果是vs2017 记得多打一个…\因为2017版本下sln文件和pro文件分开 且放在子目录

lua编程 通信 lua编程下载_解决方案_11


lua编程 通信 lua编程下载_开发语言_12

相当于这两个目录

lua编程 通信 lua编程下载_lua编程 通信_13

重新生成解决方案会发现dll文件生成了但是没有生成lib文件

lua编程 通信 lua编程下载_开发语言_14

要到处lib文件需要指定宏 LUA_BUILD_AS_DLL

lua编程 通信 lua编程下载_lua_15

添加后重新生成发现生成lib文件

lua编程 通信 lua编程下载_解决方案_16

下面新建一个项目first也放在src目录下 但是不用选中生成解决方案

lua编程 通信 lua编程下载_lua编程 通信_17

注意这次不说生成dll所以不用修改成dll

新建成功后将源码添加进来

lua编程 通信 lua编程下载_lua_18

编写代码

extern "C" 
{
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
}




int main()
{
lua_State *lua = lua_open();
luaopen_base(lua);
luaL_loadfile(lua,"main.lua");


lua_pcall(lua, 0, 0, 0);


    std::cout << "Hello World!\n";
getchar();
}

生成解决方案发现报错 找不到函数

lua编程 通信 lua编程下载_解决方案_19

这个时候需要添加lib静态库的路径

lua编程 通信 lua编程下载_解决方案_20

添加静态库

lua编程 通信 lua编程下载_lua_21

重新生成

lua编程 通信 lua编程下载_解决方案_22

设置输出目录

lua编程 通信 lua编程下载_c++_23

编写lua

lua编程 通信 lua编程下载_lua编程 通信_24

点击运行

lua编程 通信 lua编程下载_lua编程 通信_25