其他分享
首页 > 其他分享> > 【toLua++】toLua++编译生成tolua++.exe史上完整版

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

作者:互联网

准备材料:
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依赖项的输入
第二步:编译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位的库弄错了。

 

 

 

 

标签:lib,++,路径,编译,源码,toLua,完整版
来源: https://blog.csdn.net/DY_1024/article/details/114119839