最近下载到一个LUA5.1的demo程序,工程中只有lua.5.1.dll动态库,却无相应引入库。本人编译环境是win8.1+vs2013,下面说明dll导出lib的步骤:
1.安装VS后在命令行模式下切换到VS 编译环境:
2.输入命令dumpbin lua5.1.dll /EXPORTS > lua5.1.def,回车
用记事本打开文件lua5.1.def,去掉不必要信息 ,修改为.def文件(相关介绍很多)格式
如下:
LIBRARY "LUA5.1.dll"
DESCRIPTION "LUA5.1 library"EXPORTSluaD_growstackluaF_newprotoluaL_addlstring...
3.输入命令lib /DEF:lua5.1.def,回车,当前目录下会生成lua5.1.lib,即lua5.1.dll的引入库。
4.lua使用demo程序:
1 #include2 3 extern "C" 4 { 5 #include "lua.h" 6 #include "lualib.h" 7 #include "lauxlib.h" 8 } 9 #pragma comment(lib, "lua5.1.lib")10 11 //12 /* the Lua interpreter */13 lua_State* L;14 15 int main ( int argc, char *argv[] )16 {17 /* initialize Lua */18 L = lua_open();19 20 /* load Lua base libraries */21 luaL_openlibs(L);22 23 /* run the script */24 luaL_dofile(L, "test.lua");25 26 /* cleanup Lua */27 lua_close(L);28 29 /* pause */30 printf( "Press enter to exit..." );31 getchar();32 33 return 0;34 }
test.lua
-- simple testprint "Hello, World!"
完。