C++Builder 编译 Lua 库方法

用C++builder 6.0 来编译lua静态库,动态库,lua.exe luac.exe的方法,网上很难找到全的资料,这是本人自己一点一点测试找到的方法,编译的版本为当前最新的5.3.2 静态,动态,两个EXE,都编译成功,可以使用!
资源推荐
资源详情
资源评论
编译静态库:
新建一个LIBRARY的静态库工程,然后把SRC目录下的*.c和*.h复制到工程目录中
不需要lua.c luac.c lua.hpp三个文件,把*.c加入到工程中,*.h加不加入都无所谓,设置一下工程属性,主要是RELEASE一下然后编译,就会生成LIB文件
动态库编译:
新建一个DLL工程,然后把SRC目录下的*.c和*.h复制到工程目录中
不需要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文件中查找isatty
#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去掉,要不一大堆,看着烦人!
新建一个LIBRARY的静态库工程,然后把SRC目录下的*.c和*.h复制到工程目录中
不需要lua.c luac.c lua.hpp三个文件,把*.c加入到工程中,*.h加不加入都无所谓,设置一下工程属性,主要是RELEASE一下然后编译,就会生成LIB文件
动态库编译:
新建一个DLL工程,然后把SRC目录下的*.c和*.h复制到工程目录中
不需要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文件中查找isatty
#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去掉,要不一大堆,看着烦人!







资源评论

- chinayu20072016-05-21DLL编译不成功,其他的可以

上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
已下载
下载帮助

看过该资源的人还看了
没有合适的资源?快使用搜索试试~ 我知道了~
安全验证
文档复制为VIP权益,开通VIP直接复制
