在VS 2008 中,导入 lua.h 之类的头文件后,编译含有Lua函数的时候,可能会出现如下错误:
1>main.obj : error LNK2019: 无法解析的外部符号_luaL_checkinteger,该符号在函数"int __cdecl add(struct lua_State *)" ([email protected]@[email protected]@@Z) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号_lua_getfield,该符号在函数_main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号_lua_pcall,该符号在函数_main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号_luaL_loadfile,该符号在函数_main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号_lua_setfield,该符号在函数_main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号_lua_pushcclosure,该符号在函数_main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号_luaL_openlibs,该符号在函数_main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号_luaL_newstate,该符号在函数_main 中被引用
1>E:\Stadio\VSC++\MyProj\CandLua\Debug\CandLua.exe : fatal error LNK1120: 8 个无法解析的外部命令
解决办法:
1、项目属性->配置属性-> c/c++ -> 常规 -> 附加包含目录-> 将lua的includ文件夹位置填入
2、项目属性->配置属性-> 链接器-> 常规-> 附加到库目录->将lua的lib文件夹位置填入
3、项目属性->配置属性-> 链接器 -> 输入-> 附加依赖项-> 手动输入 liblua.dll.a 所在路径,
如: E:\Stadio\Lua\Lua5.1.5\lib\liblua.dll.a
今早弄了一个小时左右,终于搞定。
VS2008 Lua 编程环境搭建(初学备忘),布布扣,bubuko.com