为了在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
注意下面这个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的设定,如下
然后你就可以直接编译了,但是不能调试。需要手动添加dll到exe文件夹中。然后就可以调试了。
好了,虽然做完了。但是有几个问题还是没有解决
- 这个dll怎么能做到自动添加,也许有法子解决;
- 其实我自己没有编译好lua的dll,我设置好了cl,但是我的link好像有问题。下面这个批处理命令执行会报错。
link /DLL /IMPLIB:lua5.1.5.lib /OUT:lua5.1.5.dll *.obj
总之,Buckland 的Ai例子确实不错。大家可以去亚马逊上购买。
需要英文kindle版本的,你可以打赏我并且留下邮箱。你懂得 :)