随笔 - 505  文章 - 1034  trackbacks - 0
<2012年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345


子曾经曰过:编程无他,唯手熟尔!

常用链接

留言簿(94)

随笔分类(649)

随笔档案(505)

相册

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

积分与排名

  • 积分 - 797297
  • 排名 - 16

最新随笔

最新评论

阅读排行榜

评论排行榜

动态库:

调试的时候进不到lua代码里(dll跟pdb在一个目录下就可以?)

生成lua.dll时,预处理器定义要有 LUA_BUILD_AS_DLL

因为
luaconf.h                       
#if defined(LUA_BUILD_AS_DLL)

#if defined(LUA_CORE) || defined(LUA_LIB)
#define LUA_API __declspec(dllexport)
#else
#define LUA_API __declspec(dllimport)
#endif

#else

#define LUA_API        extern

#endif
而LUA_CORE是在文件里面定义的,不用在预处理器定义里写。

静态库:

调试的时候能进到lua代码里


下面的是转载的:


original address: http://blog.csdn.net/kun1234567/archive/2007/12/11/1929815.aspx

辛苦写了1小时,居然没了。。。。这是第2次写的东西。

1、编译LUA

第1步:
从官方主页www.lua.org下载Lua源代码,最新版本为5.1.2。
解压之后找到“src”文件夹,这里面就是Lua了,不过还不能直接使用。

第2步:
使用任意ANSI C编译器,在这里使用VS2005编译LUA。具体步骤如下:
1、新建一个空的Console工程,在这里该工程名暂为“lua”
2、将src中的文件全部拷贝到该项目文件夹下
3、根据生成的文件来添加需要编译的文件
4、使用Release配置来进行编译

以下是各类生成文件的详细说明:

静态库文件lua.lib

1、添加除了“lua.c”与“luac.c”以外的全部文件到工程
2、更改[项目属性]->[配置属性]->[常规]->[项目类型]为“静态库文件(.lib)”

解释器lua.exe

1、添加除了“luac.c”以外的全部文件到工程
2、更改Release状态下[项目属性]->[配置属性]->[常规]->[项目类型]为“应用程序(.exe)”

编译器luac.exe

3.1、添加除了“lua.c”以外的全部文件到工程
3.2、更改Release状态下[项目属性]->[配置属性]->[常规]->[项目类型]为“应用程序(.exe)”
注意:该文件生成时的名字为lua.exe,因为该项目名称为“lua”。如果之前生成过解释器lua.exe,则应该将解释器移走之后再生成。

2、使用LUA

使用静态库lua.lib

1、新建一个空的console工程,并添加一个空的源文件
2、在该文件中添加以下代码,并自行修改关于路径的部分
//================================================================================================================
//                      Lua Test Object
//                      C++ Source lua_test.cpp
//================================================================================================================
//================================================================================================================
//                      Include Files
//================================================================================================================
extern "C"
{
#include "D:\\My Documents\\Visual Studio 2005\\Projects\\lua\\lua\\lua.h"
#include "D:\\My Documents\\Visual Studio 2005\\Projects\\lua\\lua\\lualib.h"
#include "D:\\My Documents\\Visual Studio 2005\\Projects\\lua\\lua\\lauxlib.h"
}
//================================================================================================================
//                      Libraries
//================================================================================================================
#pragma comment( lib ,"D:\\My Documents\\Visual Studio 2005\\Projects\\lua\\release\\lua.lib")
//================================================================================================================
//                      Main Functions
//================================================================================================================
int main( void)
{
  return 1;
}
3、如果编译通过,表示静态库文件lua.lib配置成功。

使用解释器lua.exe

1、设置系统环境变量
       我的电脑->属性->高级->环境变量(N )->系统变量->Path->在尾部添加 ;+lua.exe所在路径,如
       ;d:\My Documents\Visual Studio 2005\Projects\lua\release,重启机器。
2、新建文本文件,输入 print("Hello World"),退出将文件名改为 a.lua
3、在CMD中输入 lua a.lua
4、如果出现字符串 Hellow World,表示解释器lua.exe配置成功

使用编译器luac.exe

1、设置系统环境变量
       我的电脑->属性->高级->环境变量(N )->系统变量->Path->在尾部添加 ;+lua.exe所在路径,如
       ;d:\My Documents\Visual Studio 2005\Projects\lua\release,重启机器。
2、新建文本文件,输入 print("Hello World"),退出将文件名改为 a.lua(可以直接使用之前的a.lua)
3、在CMD中输入 luac a.lua
4、如果在a.lua所在的目录下出现luac.out文件,表示解释器luac.exe配置成功

自荐一下:《Lua学习笔记》系列文章。请按顺序阅读。
posted on 2008-10-29 17:57 七星重剑 阅读(3166) 评论(7)  编辑 收藏 引用 所属分类: PL--LuaIDE -- visual c++C++ lib -- CEGUI

FeedBack:
# re: 在VS2005中配置LUA 2008-10-30 09:38 RichardHe
注意随时保存.呵呵!  回复  更多评论
  
# re: 在VS2005中配置LUA[未登录] 2008-10-31 17:22 star
辛苦你了  回复  更多评论
  
# re: 在VS2005中配置LUA 2008-10-31 19:54 七星重剑
@star
转的,我要自己写一篇  回复  更多评论
  
# re: 在VS2005中配置LUA 2009-02-04 16:10 ami
静态库文件lua.lib

1、添加除了“lua.c”与“luac.c”以外的全部文件到工程
2、更改[项目属性]->[配置属性]->[常规]->[项目类型]为“静态库文件(.lib)”


编译不通过,说缺少一个头文件、、  回复  更多评论
  
# re: 在VS2005中配置LUA 2010-03-02 08:03 我啦
不错
但不知道为什么,编译的静态库居然800多K,而我见批处理那个生成的只有25K,差距这么大,太奇怪了  回复  更多评论
  
# re: 在VS2005中配置LUA 2010-03-17 14:54 七星重剑
@我啦
批处理生成的是dll对应的lib,不是静态链接库  回复  更多评论
  
# re: 在VS2005中配置LUA 2012-07-14 17:39 dfd
@我啦
那是因为你看到25K的lib不是静态库,是动态库的链接库  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理