VC dumpbin dll 导出 lib
最近下载到一个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"
EXPORTS
luaD_growstack
luaF_newproto
luaL_addlstring
...
3.输入命令lib /DEF:lua5.1.def,回车,当前目录下会生成lua5.1.lib,即lua5.1.dll的引入库。
4.lua使用demo程序:
1 #include <stdio.h> 2 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 test print "Hello, World!"
完。