在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近一段时间都在学习lua脚本,lua的强大不多说了,自己百度去。 自己在网上也找了好多关于lua的资料,有几个不错的博客,想学习的朋友可以去了解以下。http://www.jellythink.com/archives/category/language/lua 当然自己也是按照上面的例子一一去验证,我是在linux平台上运行的,所有比较容易操作,而且lua的配置环境也很好弄。 不过在windows平台,使用vs2013工具就麻烦要死。当然,如果你配置好了环境,那也是很简单的。下面我说说怎么在vs2013下配置环境的。 一、制作我们的Lua库(lua.lib) 第一步:准备好lua的源文件(目前我用的是最新版本lua-5.2.3,下载地址:http://www.lua.org/download.html); 第二步:把lua-5.2.3源文件随便放一个盘的目录下(好处是路径少,目前我是喜欢放到D盘,比如:D:\lua-5.2.3); 第三步:运行vs2013,新建一个win32控制台应用程序项目,项目名称:Lualib。如图: 第四步:按确定之后,再点击下一步后,进入“应用程序设置”界面,在应用程序类型:选择“静态库”,附加选项:去掉预编译头。然后点击完成。如图: 第五步:在Lualib工程的头文件和源文件分别附加上lua-5.2.3的(.h文件)和(.c文件) ①:鼠标右击Lualib工程目录下的头文件----->添加------>现有项 把:D:\lua-5.2.3\src中所有.h头文件添加进来 ②:鼠标右击Lualib工程目录下的源文件----->添加------>现有项 把:D:\lua-5.2.3\src中所有.c源文件添加进来 第六步:接下来是比较重要的,配置项目属性。 打开菜单栏上的“项目”------->“属性”-------->“配置属性” ①:在C/C++选项下,选中常规,第一项“附加包含目录”中填上D:\lua-5.2.3\src。如图:
②:在C/C++选项下,选中高级,第二项“编译为”选择:编译为C代码(/TC)。点击确定。如图: 第七步:上面完成之后。直接运行项目,生成我们需要的lua.lib文件。不过我这里直接运行会出现以下的错误,如图: 不过不用担心,已经有办法修复。还是在配置属性上面设置。 打开菜单栏上的“项目”------->“属性”-------->“配置属性”。在C/C++选项下,选中预处理器 ,在第一选项的“预处理器定义”中加入_CRT_SECURE_NO_WARNINGS 即可。 第八步:再次运行项目,你会发现弹出“无法启动程序”的警告。这个不用管,我们看“输出框”最后一句话就好。因为我们是弄静态库的,当然是不能启动程序啦。
完成这一步,我们的lua库终于做好了。不信,你在D:\vsProject\Lualib\Debug下是不是有个Lualib.lib文件啊。这就是我们要的库。接下来拿个简单例子测试一下。 二、测试C++调用Lua 第一步:跟上面一样,新建一个win32控制台应用程序项目,项目名称为:mytest。然后点击完成即可。 第二步:鼠标右击解决方案,添加现有项目(记住是现有项目,而不是现有项,不然后面会出差错的哦),找到上面创建的Lualib文件夹下的Lualib.vcxproj文件,点击确定添加。 如图: 第三步:鼠标右击mytest项目,选择“属性”,然后选中“通用属性”下的“引用”添加Lualib的引用。如图: 第四步:在“配置属性” 的在“C/C++项”中选着“常规”,在第一项“附加包含目录”中填上D:\lua-5.2.3\src。如图 第五步:上面完成之后,不多说,直接上代码。在mytest.cpp文件上添加如下代码:
第六步:不多说,直接运行看结果。 三、在网上下载别人的代码运行的例子 第一步:直接运行例子,看看能不能正常运行或者有什么出错的。刚下的文件,一运行立马报错。见图: 看看什么意思呢?原来是没有包含lua几个的头文件,因为我下的例子刚好没有。没事,没有头文件,我们就加头文件,跟上面的测试例子有的相似。 在“配置属性” 的在“C/C++项”中选着“常规”,在第一项“附加包含目录”中填上D:\lua-5.2.3\src。如图
看到这个,大家应该知道是没有找到库的原因吧。那好,我们就加上我们上面制作的库吧。还记得怎么附加进去吗? ①:鼠标右击解决方案,添加现有项目,找到上面创建的Lualib文件夹下的Lualib.vcxproj文件,点击确定添加。
②:鼠标右击项目,选择“属性”,然后选中“通用属性”下的“引用”添加Lualib的引用。如图:
第三步:好,我们再运行看看。什么,还是同样的问题?我猜估计是路径问题了。呵呵,找找看。这路径刚好对应我们的链接器。好了,上图:
原来问题出在这里,这个应该是原来的例子就设置好链接库的。不过我现在用的是新的版本lua-5.2.3。就用我们之前的做的库吧。 说到这里,有两种办法解决这个问题。 第一种解决方法:直接把“附加依赖项”的内容全删除了。估计有人会问到为什么? 那我诚心诚意的回答你,我们不是附加了一个库了吗?把它删了,不就可以链接到我们的库了吗? 第二种解决方法:直接把“附加依赖项”的内容全删除了,不过把我们的库及其路径放上去。如:D:\vsProject\Lualib\Debug\Lualib.lib即可。 |
请发表评论