使用 LuaJIT 静态库时编译出错:error LNK2005: _luaL_fileresult 已经在 lua51.lib(lib_aux.obj) 中定义

 错误信息:

1>prec.obj : error LNK2005: _luaL_fileresult 已经在 lua51.lib(lib_aux.obj) 中定义
1>prec.obj : error LNK2005: _luaL_traceback 已经在 lua51.lib(lj_debug.obj) 中定义
1>E:\Work\Git\...\Release\core.dll : fatal error LNK1169: 找到一个或多个多重定义的符号

1. 打开LuaJIT\src\luaconf.h,找到 #define LUA_API extern ,改为 #define LUA_API
2. 将 LuaJIT-2.0.4 编译成静态库:vs命令提示符定位到LuaJIT\src,执行 msvcbuild.bat static
3. 将 lua51.lib 添加到新项目,就可以正常编译啦。

posted @ 2016-05-25 17:05  圣堂武士  阅读(429)  评论(0编辑  收藏  举报