编译Lua时未解析的外部符号_LoadLibraryExA

时间:2015-09-21 08:27:09

标签: c visual-c++ lua compiler-errors

我正在尝试为MSVC14编译Lua 5.3.1。但是我得到了错误:

  

LNK2019未解析的外部符号_LoadLibraryExA在函数_lsys_load中引用

有问题的功能是:

static void *lsys_load (lua_State *L, const char *path, int seeglb) {
  HMODULE lib = LoadLibraryExA(path, NULL, LUA_LLE_FLAGS);
  (void)(seeglb);  /* not used: symbols are 'global' by default */
  if (lib == NULL) pusherror(L);
  return lib;
}

我不太确定是什么导致了这个错误,因为我之前用MinGW成功编译了它。我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。我猜你用vs2015编译lua静态库时,你创建了一个windows公共静态库项目(Add New Project-> Visual C ++ - > Windows->静态库),就像我一样。

删除当前项目并创建一个win32项目将解决问题。 添加新项目 - > Visual C ++ - > Win32,然后选择"静态库"在向导对话框中。

答案 1 :(得分:0)

确保您将Kernel32.lib与您的计划相关联。 LoadLibraryExA中定义了Kernel32.lib

检查您的项目或构建设置,并确保Kernel32.lib应该存在。