lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


The most likely cause is that the Lua lib compiles as a C library, but lua.h is not surrounded by extern "C", and your project is probably a C++ project, which will compile lua.h as C++, thereby causing linker errors when it can't find the C++ name mangled version of the lua API.
 
To solve this, include lua.hpp (like someone has already suggested).
 
Brian


From: lua-bounces@bazar2.conectiva.com.br [mailto:lua-bounces@bazar2.conectiva.com.br] On Behalf Of Remo Dentato
Sent: Saturday, December 20, 2008 4:58 PM
To: lua@bazar2.conectiva.com.br
Subject: Linking lua lib with Microsoft VS2005

Hi Everybody.

  On Windows I usually use mingw to compile and link Lua but this time I have to use Visual Studio 2005.

  I can easily compile the lua51.DLL and the 2 executables (lua.exe and luac.exe) with the luavs.bat script in the etc directory of the distribution package. Everything works fine, the interpreter runs and so on.

  I can also modify that script to compile Lua as a static library lua51.lib and link it to lua.exe and luac.exe. Again everything works fine.

  The problem is when I try to link the library to the larger program I'm working on. I get the LNK2019 error (symbol unresolved).

  I tried both with the DLL and with the static .lib but I had no success.

  I checked with dumpbin and the symbols are in the library. Everything has been compiled as C using the /Tc and /TC switches.

  I don't know where else to look! Does anyone have a suggestion?? Is there any flag I should use that I might have missed?

  Thanks,

Remo


check out the rest of the Windows Live™. More than mail–Windows Live™ goes way beyond your inbox. More than messages