C++Builder 编译 Lua 库方法

编译静态库:多线程

新建一个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

相关文章
相关标签/搜索