编译静态库:多线程
新建一个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