关于MinGW Lua环境配置学习教程

移动开发 iOS
关于MinGW Lua环境配置是本文要介绍的内容,主要是来学习lua中环境配置的问题,具体内容来看本文详解。

关于MinGW Lua环境配置是本文要介绍的内容,主要是来学习lua环境配置的问题,具体内容来看本文详解。

虽说VC是WindowsC++开发的***工具,但有时候写一些小程序,我还是更倾向于使用一些轻量级的开发工具。比如最近研究Lua嵌入C++,有时候只是写一些很小的程序,这时候Visual Studio就显得太过臃肿了,于是我选择了EditPlus+MinGW的方法。搞了两个晚上,终于搭建好了环境,在这里总结一下,以备将来查看。

MinGW的安装比较简单了。我偷懒直接下了个自动安装程序,他会自己去下载***的包,并解压到正确的位置。为了更方便的使用,还需要配置环境变量,google了一下,还挺多。要是每到一台机器都要这样配置的话,那不是很累。本着计算机能完成的工作绝不自己做的原则,我决定写个js脚本配置环境变量。最开始采用了修改注册表的方法,但是后来发现这种方式修改环境变量是不能立即生效的。又google了一下,改用WScript的shell对象来直接修改环境变量。

要配置的环境变量:

  1. MINGW_PATH = “MinGW的主目录”  
  2.  
  3.    C_INCLUDE_PATH = "%MINGW_PATH%\\include;%MINGW_PATH%\\lib\\gcc\\mingw32\\3.4.5\\include ";  
  4.  
  5.    CPLUS_INCLUDE_PATH = "%MINGW_PATH%\\include\\c++\\3.4.5;%MINGW_PATH%\\include\\c++\\3.4.5\\mingw32;%MINGW_PATH%  
  6.  
  7. \include\\c++\\3.4.5\\backward;%C_INCLUDE_PATH% ";  
  8.  
  9.    LIBRARY_PATH = "%MINGW_PATH%\\lib;%MINGW_PATH%\\lib\\gcc\\mingw32\\3.4.5";  
  10.  
  11.    PATH = "%MINGW_PATH%\\bin;%MINGW_PATH%\\libexec\\gcc\\mingw32\\3.4.5;"

写成js脚本,把这个脚本放到MinGW的主目录里,双击运行就可以了。 

  1. function GetCurrPath ()  
  2. {   
  3.     fso = new ActiveXObject ("Scripting.FileSystemObject" );  
  4.     currFolder = fso . GetFolder ("." );  
  5.     return currFolder . path   
  6. }   
  7.  
  8. //取得当前路径   
  9. MINGW_PATH = GetCurrPath ();  
  10.  
  11. C_INCLUDE_PATH = "%MINGW_PATH%\\include;%MINGW_PATH%\\lib\\gcc\\mingw32\\3.4.5\\include " ;  
  12.  
  13. CPLUS_INCLUDE_PATH = "%MINGW_PATH%\\include\\c++\\3.4.5;%MINGW_PATH%\\include\\c++\\3.4.5\\mingw32;%MINGW_PATH%\\include\   
  14.  
  15. \c++\\3.4.5\\backward;%C_INCLUDE_PATH% " ;  
  16.  
  17. LIBRARY_PATH = "%MINGW_PATH%\\lib;%MINGW_PATH%\\lib\\gcc\\mingw32\\3.4.5" ;  
  18.  
  19. PATH = "%MINGW_PATH%\\bin;%MINGW_PATH%\\libexec\\gcc\\mingw32\\3.4.5;" ;  
  20.  
  21. var WshShell = WScript . CreateObject ("WScript.Shell" );  
  22. var WshSysEnv =   WshShell . Environment ("SYSTEM" );  
  23. WshSysEnv ("MINGW_PATH" ) = MINGW_PATH ;  
  24. WshSysEnv ("C_INCLUDE_PATH" ) = C_INCLUDE_PATH ;  
  25. WshSysEnv ("CPLUS_INCLUDE_PATH" ) = CPLUS_INCLUDE_PATH ;  
  26. WshSysEnv ("LIBRARY_PATH" ) = LIBRARY_PATH ;  
  27. PATHPATH = PATH + WshSysEnv ("PATH" );  
  28. WshSysEnv ("PATH" ) = PATH ;  
  29. WScript . Echo ("MinGW环境变量设置完成!" ); 

接下来是Lua环境,下载Lua的bin和lib以后,做成下面的目录结构:

  1. Lua  
  2. │  
  3. ├─bin  
  4. │      bin2c.exe  
  5. │      lua.exe  
  6. │      lua5.1.dll  
  7. │      lua51.dll  
  8. │      luac.exe  
  9. │      wlua.exe  
  10. │  
  11. ├─include  
  12. │      lauxlib.h  
  13. │      lua.h  
  14. │      lua.hpp  
  15. │      luaconf.h  
  16. │      lualib.h  
  17. │  
  18. └─lib  
  19.         lua5.1.lib  
  20.         lua51.lib 

然后仍然是js脚本配置环境变量:

  1. function GetCurrPath ()  
  2. {   
  3.     fso = new ActiveXObject ("Scripting.FileSystemObject" );  
  4.     currFolder = fso . GetFolder ("." );  
  5.     return currFolder . path   
  6. }   
  7.  
  8. //取得当前路径   
  9. LUA_HOME = GetCurrPath ();  
  10.  
  11. LUA_BIN = "%LUA_HOME%\\bin;" ;  
  12.  
  13. LUA_INCLUDE = "%LUA_HOME%\\include;" ;  
  14.  
  15. LUA_LIB = "%LUA_HOME%\\lib;" ;  
  16.  
  17. var WshShell = WScript . CreateObject ("WScript.Shell" );  
  18. var WshSysEnv =   WshShell . Environment ("SYSTEM" );  
  19.  
  20. WshSysEnv ("LUA_HOME" ) = LUA_HOME ;  
  21. //bin加入path   
  22. WshSysEnv ("PATH" ) = LUA_BIN + WshSysEnv ("PATH" );  
  23. //include加入MinGW   
  24. WshSysEnv ("C_INCLUDE_PATH" ) = LUA_INCLUDE + WshSysEnv ("C_INCLUDE_PATH" );  
  25. //lib加入MinGW   
  26. WshSysEnv ("LIBRARY_PATH" ) = LUA_LIB + WshSysEnv ("LIBRARY_PATH" );  
  27. WScript . Echo ("LUA环境变量设置完成!" );  
  28.  
  29. 有时候设置好了却不生效,重启一下就好了。先写个Hello World测试一下。  
  30.  
  31. #include <lua.hpp>   
  32. #include <iostream>   
  33. using namespace std ;  
  34. int main ()  
  35. {   
  36.     lua_State * L = lua_open ();  
  37.     lua_cpcall (L , luaopen_base , 0 );  
  38.  
  39.     if (luaL_loadfile (L , "test.lua" ) || lua_pcall (L , 0 , 0 , 0 ))  
  40.         cout << lua_tostring (L , - 1 )<< endl ;  
  41.     lua_close (L );  
  42.     system ("pause" );  
  43.     return 0 ;  
  44. }  
  45.     test.lua:  
  46. print (" Hello World!" )  
  47.     makefile:  
  48. all : main.exe   
  49. #all:rebuild   
  50.     main.exe   
  51. main.exe : main.o   
  52.     g++ -o $@ $^ -llua5.1   
  53. main.o : main.cpp   
  54.     g++ -c main.cpp   
  55. clear :   
  56.     -del *.exe *.o   
  57. rebuild : clear main.exe 

直接make,编译、连接、运行一次搞定。

  1. g++ -c main.cpp  
  2. g++ -o main.exe main.o -llua5.1  
  3. main.exe  
  4. Hello World! 

请按任意键继续。

小结:关于MinGW Lua环境配置学习教程的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-24 14:14:13

LUA环境 配置

2011-08-23 13:54:10

LUA全局变量

2011-08-23 15:34:56

Lua模式 匹配

2011-08-24 11:03:33

LUA环境 安装

2011-08-23 16:37:05

Lua数学库

2011-08-25 15:41:42

Lua源码

2011-08-24 15:42:38

LUA源代码

2011-08-24 15:22:09

2011-08-24 17:09:35

LUA闭包函数

2011-08-24 11:08:09

Lua

2011-08-25 16:20:33

Lua脚本变量

2011-08-23 17:06:03

2011-08-24 13:27:07

Lua 游戏C接口脚本

2011-08-23 16:48:41

Lua 5.1API 函数

2011-08-24 14:33:14

LUA开发环境Decoda

2011-08-25 14:03:32

UbuntuLUA安装

2011-08-23 15:57:21

Lua元表元方法

2011-08-23 13:27:46

Luaglobal变量

2011-08-25 13:44:11

LUA下载SciTE

2011-08-29 18:09:45

LUAWeb开发服务器
点赞
收藏

51CTO技术栈公众号