用debug模式编译时通过,而用release方式时接口函数无法识别 的解决方法
用debug模式编译时通过,而用release方式时接口函数无法识别
test.obj : error LNK2001: unresolved external symbol _lua_close
test.obj : error LNK2001: unresolved external symbol _luaopen_base
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
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解析器
莫愁前路无知己,天下无人不识君。