在VS2015 Community下使用LUA/C++和LUABind

为了在VS2015 Community下使用BUCKLAND书上的AI例子,特记录一下。
Lua版本:5.1.5 (Lua只需要源码就可以,不过需要自己再编译成dll和lib。因为源码和dll都要用到。dll除了可以自己编译,还可以去下载编译好的: lua-5.1.5_Win32_bin.zip)
Boost版本:1.33.0
下载好并解压缩后,(我的保存位置仅供参考)
F:\Boost\boost_1_33_0
F:\LUA\lua-5.1.5
F:\LUA\lua-5.1.5_Win32_bin

接下来找到这个dll复制到F:\LUA\lua-5.1.5目录下,并且重命名为lua5.1.5.dll

在VS2015 Community下使用LUA/C++和LUABind_第1张图片
复制并移动这个文件
在VS2015 Community下使用LUA/C++和LUABind_第2张图片
移动后

注意下面这个lua5.1.5.dll, 这个需要用cl在src目录下批处理编译得出并且移动到此处。

cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c
ren lua.obj lua.o
ren luac.obj luac.o
link /DLL /IMPLIB:lua5.1.5.lib /OUT:lua5.1.5.dll *.obj 
link /OUT:lua.exe lua.o lua5.1.5.lib 
lib /OUT:lua5.1.5-static.lib *.obj
link /OUT:luac.exe luac.o lua5.1.5-static.lib

这样就准备好了所有工作。然后找到Buckland的例子StartHere(地址是...\Buckland_Chapter6_Scripting_Source\StartHere),并且用VS2015打开StartHere.vcproj,然后就是需要Project/Properties打开编译器和Linker的设定,如下

在VS2015 Community下使用LUA/C++和LUABind_第3张图片
Project/Properties打开编译器和Linker的设定
在VS2015 Community下使用LUA/C++和LUABind_第4张图片
编译器需要指明boost目录和lua源文件下面的2个目录
在VS2015 Community下使用LUA/C++和LUABind_第5张图片
Linker需要指明lib的位置
在VS2015 Community下使用LUA/C++和LUABind_第6张图片
Linker需要指明使用的lib的名字
在VS2015 Community下使用LUA/C++和LUABind_第7张图片
改写一处引用

然后你就可以直接编译了,但是不能调试。需要手动添加dll到exe文件夹中。然后就可以调试了。


在VS2015 Community下使用LUA/C++和LUABind_第8张图片
手动添加dll

好了,虽然做完了。但是有几个问题还是没有解决

  1. 这个dll怎么能做到自动添加,也许有法子解决;
  2. 其实我自己没有编译好lua的dll,我设置好了cl,但是我的link好像有问题。下面这个批处理命令执行会报错。
link /DLL /IMPLIB:lua5.1.5.lib /OUT:lua5.1.5.dll *.obj 

总之,Buckland 的Ai例子确实不错。大家可以去亚马逊上购买。

需要英文kindle版本的,你可以打赏我并且留下邮箱。你懂得 :)

你可能感兴趣的:(在VS2015 Community下使用LUA/C++和LUABind)