`
yuanlanxiaup
  • 浏览: 896280 次
文章分类
社区版块
存档分类
最新评论

Lua学习笔记(1)

 
阅读更多

前段时间一直在寻找, 究竟C++中嵌入哪种脚本语言比较好呢? Python, Ruby, Lua, Perl ?

后来, 开源社区的朋友很多都推荐Lua, 于是我也就开始学习Lua编程.

在大概了解Lua的基本编程之后,便开始实际写起程序. 于是在 http://www.lua.org 下载了源代码, SDK.

我的开发环境是VS.net 2003, 新建一个空的C++ console项目, 再新建一个main.cpp文件, 然后添加以下代码:

#include "stdio.h"

extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

lua_State* L;

int main()
{
//init Lua
L = lua_open();

//load lua base library
lua_baselibopen(L);

//run the script
lua_dofile(L, "test.lua");
lua_dostring(L, "print 5+10");

//close lua
lua_close(L);

printf("Hello, I am %s", "the one");
return 0;
}

编译连接的时候, 出错信息如下:

testlua1 error LNK2019: 无法解析的外部符号 _lua_dofile ,该符号在函数 _main 中被引用
testlua1 error LNK2019: 无法解析的外部符号 _lua_dostring ,该符号在函数 _main 中被引用

后来, 我在网上基本上没有找到相关的答案, 即使有,也只是设置lib和include路径之类的. 其实这些设置我都已经正确设置好了的.

那问题究竟出在哪里呢? 我试着把调用lua_dofile和lua_dostring的两个语句注释掉, 结果编译连接成功. 这说明Lua已经基本能用了, 只是链接器没有找到lua_dofile和lua_dostring这两个函数的地址,所以链接失败. 但是, 这两个函数在lauxlib.h头文件中是有声明的, 只是在lua.dll和lualib.dll中都不见它们的踪影!

我想,这就是这两个函数链接失败的直接因素吧,但是为什么这些动态链接库里都没有这两个函数呢? 奇怪!

大家有这样的经历吗? 或者知道解决方法吗?

分享到:
评论

相关推荐

    lua学习笔记.txt

    lua学习笔记

    lua学习笔记

    自己学习lua记得笔记,做任务用的~很基础的东西,想要的拿走,免费

    lua (vc环境)学习笔记(学习代码)

    **lua (VC环境) 学习笔记** 在深入学习lua编程语言并将其应用于Microsoft Visual C++(VC环境)时,我们需要了解几个关键知识点。lua是一种轻量级的脚本语言,设计目标是作为嵌入式语言,使得游戏开发、系统管理、...

    lua基础学习笔记

    ### Lua基础学习笔记 #### 一、Lua简介与特点 Lua是一种轻量级且高效的脚本语言,广泛应用于游戏开发、网页应用、图形界面等领域。对于已有其他编程语言基础的学习者来说,掌握Lua通常较为迅速。Lua的设计哲学是...

    lua基础笔记

    1. ** Lua语法基础 **:Lua的语法简洁明了,易于学习。变量声明不需要指定类型,其数据类型包括数字(浮点数和整数)、字符串、布尔值、表(类似数组或哈希表)、函数以及nil。变量作用域默认为全局,但可以使用...

    cocos2dx_lua开发笔记

    【cocos2dx_lua开发笔记】是一篇个人实践总结,主要涵盖了使用cocos2dx_lua进行游戏开发的一些关键点,包括...通过学习和理解这些笔记,开发者能够更好地理解和运用cocos2dx_lua进行游戏场景、UI元素和动画效果的构建。

    Lua学习笔记之表达式

    【Lua学习笔记之表达式】 在Lua编程语言中,表达式是构成程序的基本元素,用于表示计算或逻辑操作。表达式的结果可以是一个值,也可以是一个布尔值,这取决于执行的操作。下面我们将深入探讨Lua中的各种表达式类型...

    lua (vc环境)学习笔记

    【Lua (VC环境) 学习笔记】 Lua是一种轻量级的、开源的脚本语言,主要用于嵌入式系统和游戏开发。它以其简洁的语法、高效性和易于集成的特点受到广泛欢迎。在VC(Visual C++)环境中使用Lua,可以为C++应用程序提供...

    Lua的table元表自我学习笔记

    Lua的table元表自我学习笔记分享。--lua元表总结 --1、__index的运用 (调用table的一个不存在的索引时,会使用到元表的__index元方法,搜索元表是否也有改索引,__index可以是一个函数也可是一个table。)

    cocos2dx-lua 笔记

    1. 创建项目:使用 Cocos Console 或者 Xcode、Android Studio 等工具创建新的 Cocos2d-x Lua 项目。 2. 编写 Lua 脚本:在项目的 scripts 目录下,编写游戏的各个模块,如主菜单、关卡、角色控制等。 3. 资源管理:...

    Lua学习笔记之类型与值

    Lua的类型与值的学习笔记为我们提供了对这些基础知识的全面了解,对于Lua新手来说是一份宝贵的资料。通过这些知识点的学习,开发者可以更加有效地编写Lua程序,并在日常开发中避免一些常见错误。

    Lua使用笔记

    这个"Lua使用笔记"的压缩包包含了三个文件:hello3.lua、hello.lua和hello2.lua,这些文件很可能是 Lua 的示例代码或练习脚本,通过它们我们可以学习和理解 Lua 的基本语法和特性。 首先,我们来看一下 Lua 的基础...

    个人对c++使用lua的一些笔记

    1. Lua C API:C++与Lua交互的核心是通过Lua的C API,它提供了一系列的C函数,使得C/C++代码能够加载、运行和修改Lua脚本。例如,`luaL_loadbuffer`用于加载Lua源代码,`lua_pcall`执行lua函数,`lua_gettop`获取...

    Lua基础应用笔记

    ### Lua基础应用知识点详解 #### 一、Lua简介与特性 ...以上内容覆盖了Lua的基本语法和常用操作,是学习Lua的入门必备知识点。对于从事Unity3D开发或者对Lua感兴趣的朋友来说,掌握这些内容将极大地提高编程效率。

    自我学习笔记--LUA;python:网络编程等

    【标题】中的“自我学习笔记--LUA;python:网络编程等”表明这是一份包含LUA和Python语言,特别是关于网络编程的学习资料。LUA和Python都是编程语言,广泛应用于游戏开发、脚本编写、自动化任务以及网络服务等领域。 ...

    Lua学习笔记之函数、变长参数、closure(闭包)、select等

    Lua是一种轻量级的脚本语言,具有易于嵌入到应用程序中、支持面向过程和函数式编程、拥有灵活的变量作用域等特点。本文将介绍Lua中函数的基础用法、变长参数、closure(闭包)、以及select函数的使用,并结合代码...

    基于Java与HTML/CSS/Lua的Spring实战书籍学习笔记与源码分析

    本项目为《Spring实战》英文原版书籍的Java实现学习笔记与源码分析,包含186个文件,主要采用Java语言编写,辅以HTML、CSS、Lua等语言。文件类型多样,涵盖163个Java源文件、5个HTML文件、2个Git忽略文件、2个...

    vs2008_lua文档及代码

    10. **学习笔记的价值**:他人的学习笔记可能包含实践中的经验总结、常见问题的解决方法,对于初学者来说,是一份宝贵的参考资料。 总的来说,这个资源包提供了一个全面的学习路径,涵盖了从基础的Lua语言学习到在...

Global site tag (gtag.js) - Google Analytics