使用 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:WorkGit...Releasecore.dll : fatal error LNK1169: 找到一个或多个多重定义的符号

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

原文地址:https://www.cnblogs.com/gchen/p/5527727.html