編譯靜態庫:多線程
新建一個LIBRARY的靜態庫工程,而後把SRC目錄下的*.c和*.h複製到工程目錄中ide
不須要lua.c luac.c lua.hpp三個文件,把*.c加入到工程中,*.h加不加入都無所謂,設置一下工程屬性,主要是RELEASE一下而後編譯,就會生成LIB文件ui
動態庫編譯:lua
新建一個DLL工程,而後把SRC目錄下的*.c和*.h複製到工程目錄中spa
不須要lua.c luac.c lua.hpp三個文件,把*.c加入到工程中,*.h加不加入都無所謂,把默認生成的UNIT.C和資源文件刪掉,設置一下工程屬性,主要是RELEASE一下,還有脫離BCB環境的幾個地方而後編譯,就會生成DLL文件線程
編譯lua.exe:資源
新建一個控制檯程序:選C或C++均可以,多線程能夠選中,而後加入SRC的文件到工程中,和上面差很少,此次加入lua.c 另外兩個不要.設置工程屬性,編譯生成.exe編譯器
若是遇到[Linker Error] Unresolved external '__isatty' referenced from C:\USERS\GUNXSWORD\DESKTOP\1111111\LUA.OBJ 相似的錯誤,在lua.c文件中查找isattyit
#define lua_stdin_is_tty()_isatty(_fileno(stdin))編譯
把_isatty改爲__isatty就能夠編譯經過了
編譯luac.exe:
和lua.exe同樣,只是加入luac.c這個文件
使用LUA:
須要的頭文件:
lauxlib.h
lua.h
luaconf.h
lualib.h
lua.hpp
lua.lib(這個是咱們編譯的)
使用時複製這些到工程目錄,而後工程中加入LUA.LIB 再包含 lua.hpp這一個頭文件,就能夠了
編譯以上程序時,能夠在工程設置中,把waring去掉,要不一大堆,看着煩人!
編譯兩個EXE時,要把工程默認的.c或.cpp文件從工程中去掉
編譯 lua(lua.exe,解析器) 時刪除luac.c,加入lua.c。
編譯 luac(luac.exe,字節碼編譯器)時刪除lua.c,加入luac.c。
編譯 lib和dll(liblua.a和lua.dll,庫)時把lua.c和luac.c都刪除。
lua.hpp就是調用時須要的頭文件的包裝
編譯使用的是C++Builder 6.0 lua版本是5.3.2