Visual c++ 使用luajit和lua iup libs编译时出错[visual c+;+;2012]

Visual c++ 使用luajit和lua iup libs编译时出错[visual c+;+;2012],visual-c++,compilation,lua,luajit,Visual C++,Compilation,Lua,Luajit,我用luajit和lua iup编写了一个应用程序,并将我的应用程序链接到静态libs。但我得到了以下错误: ------ Build started: Project: ConsoleApplication1, Configuration: Release Win32 ------ Creating library C:\Users\root\Documents\Visual Studio 2012\Projects\ConsoleApplication1\Release\Conso

我用luajit和lua iup编写了一个应用程序,并将我的应用程序链接到静态libs。但我得到了以下错误:

------ Build started: Project: ConsoleApplication1, Configuration: Release Win32 ------
     Creating library C:\Users\root\Documents\Visual Studio 2012\Projects\ConsoleApplication1\Release\ConsoleApplication1.lib and object C:\Users\root\Documents\Visual Studio 2012\Projects\ConsoleApplication1\Release\ConsoleApplication1.exp
iup.lib(iupwindows_main.obj) : error LNK2001: unresolved external symbol _main
C:\Users\root\Documents\Visual Studio 2012\Projects\ConsoleApplication1\Release\ConsoleApplication1.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我是否错过了一些LIB,对此有何想法

据我所知,IUP的Lua绑定部分是用Lua编写的。这通常不会是一个问题,除非Lua部分作为预编译字节码编译到库中。Lua字节码和LuaJIT字节码是不同的


正确的答案是更改IUP,使其使用编译为的Lua源代码而不是字节码构建。这可能会减慢IUP应用程序的启动速度,但会使交叉编译IUP变得更容易,并使使用LuaJIT而不是标准Lua成为可能。

以下是IUP作者的答案,希望这对遇到与我相同问题的人有所帮助

看起来您正在构建一个控制台应用程序。这意味着你 需要一个“main”函数。如果您尝试构建一个Windows 如果应用程序没有控制台,那么IUP将实现WinMain 函数,并调用“main”函数。在这两种情况下,您都需要 “主要”功能


在3.6版本的changlog中,它说“更改:删除了预编译二进制文件中的Lua字节码用法。现在IUP预编译二进制文件与LuaJIT兼容。”我使用的是3.7版本,所以我认为这不是问题