用debug模式编译时通过,而用release方式时接口函数无法识别 的解决方法

用debug模式编译时通过,而用release方式时接口函数无法识别

test.obj : error LNK2001: unresolved external symbol _lua_close
test.obj : error LNK2001: unresolved external symbol _luaopen_base

test.obj : error LNK2001: unresolved external symbol _lua_open

 

 

打开vs 
tools->options->projects->vc++ directories (工具->选项->目录) 
executable files (可执行文件)选项添加lua安装以后的路径,我的是 E:\work\lua\Lua5.1 
include files选项添加lua include路径,我的是 E:\work\lua\Lua5.1\include  
library files 选项添加lua lib路径,我的是 E:\work\lua\Lua5.1\lib  
 
目录设置好后还要加载LUA的库,2种方法: 
 
方法1:工程->设置->连接 
在 对象/库模块 一栏中添加进:lua5.1.lib lua51.lib 

方法2: 
直接在你的工程里合适的位置上加入代码 
 
#pragma comment(lib,"lua5.1.lib") 
#pragma comment(lib,"lua51.lib") 
即可 
 
最后就是开始使用LUA的时候要使用如下代码: 
 
extern "C" { 
#include "lua.h" 
#include "lualib.h" 
#include "lauxlib.h" 

 
导入基本的头文件 
 
另外就是5.1以后的版本要使用如下代码进行LUA的初始化: 
 
lua_State *L = lua_open();  //打开一个LUA解析器 
luaL_openlibs(L); //打开所需的库 
 
//lua_close(L); //关闭LUA解析器 
 

posted @ 2011-08-12 11:17  麦飞  阅读(911)  评论(1编辑  收藏  举报