参考这篇文章:
https://blog.csdn.net/wlk1229/article/details/78776551
- 编译环境搭建
下载他网盘的VS2015编译tolua++工程源码,由于我使用的是VS2010,所以不能直接打开sln文件,用记录本打开,修改文件:
这样保存后,就可以用VS2010打开工程文件了,暂时还不能编译。得先右键工程属性,把常规中平台工具集选项改为v100:
然后添加lua头文件目录,在“VC++目录”的包含目录选项中添加lua5.2.4源码所在路径(如果不这样修改,编译会报“无法打开lua.h文件”):
在项目中去除掉lua.c和luac.c文件:
因为这两个文件里都有main函数定义,如果不去掉,编译会报错:
1>tolua.obj : error LNK2005: main 已经在 luac.obj 中定义
1>E:\程序\测试程序\ToLua\toluaVS2015\x64\Debug\tolua++.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
修改完成后再点击编译,终于生成“tolua++.exe”文件了:
-
编译Release版本
然后编译release版本,等等,还得把前面的平台工具集和包含路径修改一下,没办法,谁让VS2010的debug和release是两套不同的配置呢。编译成功会在Release目录下生成:
-
编译tolua++.lib库
在其他项目中使用tolua时可以像KyleWlk给出的示例代码一样直接添加lua和tolua源码,毕竟太麻烦了,可以将其编译为tolua++.lib库。
编译方法也简单,还是使用编译刚才编译tolua++.exe的工程,只需要把配置属性里的配置类型改为“静态库(.lib)”:
再进行编译,成功后即可生成tolua++.lib文件: