自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于MinGW Lua環(huán)境配置學(xué)習(xí)教程

移動(dòng)開(kāi)發(fā) iOS
關(guān)于MinGW Lua環(huán)境配置是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)lua中環(huán)境配置的問(wèn)題,具體內(nèi)容來(lái)看本文詳解。

關(guān)于MinGW Lua環(huán)境配置是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)lua環(huán)境配置的問(wèn)題,具體內(nèi)容來(lái)看本文詳解。

雖說(shuō)VC是WindowsC++開(kāi)發(fā)的***工具,但有時(shí)候?qū)懸恍┬〕绦?,我還是更傾向于使用一些輕量級(jí)的開(kāi)發(fā)工具。比如最近研究Lua嵌入C++,有時(shí)候只是寫一些很小的程序,這時(shí)候Visual Studio就顯得太過(guò)臃腫了,于是我選擇了EditPlus+MinGW的方法。搞了兩個(gè)晚上,終于搭建好了環(huán)境,在這里總結(jié)一下,以備將來(lái)查看。

MinGW的安裝比較簡(jiǎn)單了。我偷懶直接下了個(gè)自動(dòng)安裝程序,他會(huì)自己去下載***的包,并解壓到正確的位置。為了更方便的使用,還需要配置環(huán)境變量,google了一下,還挺多。要是每到一臺(tái)機(jī)器都要這樣配置的話,那不是很累。本著計(jì)算機(jī)能完成的工作絕不自己做的原則,我決定寫個(gè)js腳本配置環(huán)境變量。最開(kāi)始采用了修改注冊(cè)表的方法,但是后來(lái)發(fā)現(xiàn)這種方式修改環(huán)境變量是不能立即生效的。又google了一下,改用WScript的shell對(duì)象來(lái)直接修改環(huán)境變量。

要配置的環(huán)境變量:

  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腳本,把這個(gè)腳本放到MinGW的主目錄里,雙擊運(yùn)行就可以了。 

  1. function GetCurrPath ()  
  2. {   
  3.     fso = new ActiveXObject ("Scripting.FileSystemObject" );  
  4.     currFolder = fso . GetFolder ("." );  
  5.     return currFolder . path   
  6. }   
  7.  
  8. //取得當(dāng)前路徑   
  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環(huán)境變量設(shè)置完成!" ); 

接下來(lái)是Lua環(huán)境,下載Lua的bin和lib以后,做成下面的目錄結(jié)構(gòu):

  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腳本配置環(huán)境變量:

  1. function GetCurrPath ()  
  2. {   
  3.     fso = new ActiveXObject ("Scripting.FileSystemObject" );  
  4.     currFolder = fso . GetFolder ("." );  
  5.     return currFolder . path   
  6. }   
  7.  
  8. //取得當(dāng)前路徑   
  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環(huán)境變量設(shè)置完成!" );  
  28.  
  29. 有時(shí)候設(shè)置好了卻不生效,重啟一下就好了。先寫個(gè)Hello World測(cè)試一下。  
  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,編譯、連接、運(yùn)行一次搞定。

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

請(qǐng)按任意鍵繼續(xù)。

小結(jié):關(guān)于MinGW Lua環(huán)境配置學(xué)習(xí)教程的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-24 14:14:13

LUA環(huán)境 配置

2011-08-23 13:54:10

LUA全局變量

2011-08-23 15:34:56

Lua模式 匹配

2011-08-24 11:03:33

LUA環(huán)境 安裝

2011-08-23 16:37:05

Lua數(shù)學(xué)庫(kù)

2011-08-24 15:42:38

LUA源代碼

2011-08-25 15:41:42

Lua源碼

2011-08-24 15:22:09

2011-08-24 17:09:35

LUA閉包函數(shù)

2011-08-24 11:08:09

Lua

2011-08-25 16:20:33

Lua腳本變量

2011-08-24 13:27:07

Lua 游戲C接口腳本

2011-08-23 17:06:03

2011-08-23 16:48:41

Lua 5.1API 函數(shù)

2011-08-25 14:03:32

UbuntuLUA安裝

2011-08-24 14:33:14

LUA開(kāi)發(fā)環(huán)境Decoda

2011-08-23 15:57:21

Lua元表元方法

2011-08-25 13:44:11

LUA下載SciTE

2011-08-23 13:27:46

Luaglobal變量

2011-08-29 18:09:45

LUAWeb開(kāi)發(fā)服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)