找回密码
 立即注册
查看: 260|回复: 0

【toLua++】toLua++编译生成tolua++.exe史上完整版

[复制链接]
发表于 2021-8-12 08:23 | 显示全部楼层 |阅读模式
准备材料:
1、Lua源码,我用的是Lua5.1
2、toLua++源码
白嫖党这里集合:链接:https://pan.baidu.com/s/1iCUWNCZve48JP5CCVDeIXg 提取码:eao0
这里面有我编译好的Lua的源码以及lib库,以及生成的toLua++.exe,版本是:tolua++-1.0.92,命令行输入:toLua++ -v即可查看。
如果你只想用toLua++.exe,现在可以撤退了。
lua-5.1.5里面结构如图:

toLua++里面结构如图:


下面是整个编译的过程,过程没有图解,因为我觉得加了图,反而有点繁琐,仔细看文字,就可以完成编译的整个过程。
第一步:编译Lua源码,生成Lua5.1.lib
方法比较简单,创建一个工程,设置成生成lib库
右击工程名,然后添加现有项,将这个路径的文件全都添加进来,路径lua-5.1.5\lua-5.1.5\src,
VS会自动将头文件和.c文件区分开。然后直接编译(记得32位和64位都编译一下,方便用)。
我这里有一个报错,是说一些fopen函数不安全,让使用fopen_s代替。
解决办法:
属性->C/C++->预处理器->预处理器定义
然后在里面添加:_CRT_SECURE_NO_WARNINGS
就OK了。
编译完成之后,会生成lib文件,文件名应该是你工程的名字,记得把他改成:lua5.1.lib,或者不改名也行,一会改tolua++.exe的lib依赖项的输入
第二步:编译toLualib
将下载的toLua++的源码里面的:src\lib下的.c和.h文件,全都导入一个静态库工程。
当然了,头文件路径里面需要Lua的头文件路径以及Lua的lib库,以及toLua++里面的Include文件(包含在头文件里面)
然后生成解决方案,就得到了toLualib
第三步:编译toLua++.exe
打开刚才提供的toLua++的压缩文件,在路径\tolua_add-master\tolua\win32\vc7\里面有:toluapp.sln
使用VS打开这个sln文件,
这个工程就是用来编译toLua++的。
然后添加一个头文件目录,这个目录是lua.h所在的路径:我的路径是在这里:\lua-5.1.5\lua-5.1.5\src
当然,你也可以把需要的头文件挪到:../../include 文件夹里面,因为这个工程打开默认配置的就是这个,我嫌麻烦就直接没有管这个。
接着我们需要添加lib库的路径,
这里有两种改法:
①将刚才编译Lua源码生成的lib库,改名字然后放在../../lib这个文件里面,改成什么名字呢?改成输入项里面填写的名字,这两个选项对上就行;
②将lib库的路径添加上我们自己的路径,然后将刚才Lua源码生成的lib库全程写在:附加依赖项里面。
总之刚才编译Lua源码生成的lib,就是为了现在用的。
设置完成之后就可以开始编译了。
如果不幸你遇到了这个类似这种错误,试试这个解决方案:属性->链接器->输入->忽略特定默认库; 然后在里面添:libcmt.lib
无法解析的外部符号 _acos,该符号在函数 _math_acos 中被引用
...
...
...
如果还是不幸,运行之后,VS提示找不到程序


解决这个问题的关键点在于:
保持: “属性 —> 链接器 -> 常规 -> 输出文件” 这个里面的路径和 “属性 -> 常规 -> 输出目录” 这两个路径是要一样的,一定要一样才能不报那个错误。
如果现在你顺利进行到这一步的话,编译运行就会有这个界面:


此时你就可以获得toLua++.exe了;
温馨提示:编译过程中记得别把32位和64位的库弄错了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 07:05 , Processed in 0.067135 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表