我用luajit和lua-iup编写了一个应用程序,并将我的应用程序与静态库链接。但是我收到了以下错误:
------ 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 ==========
我是否错过了一些libs以及对此的任何想法?
答案 0 :(得分:1)
据我所知,IUP的Lua绑定部分用Lua编写。除了将Lua部分作为预编译的字节码编译到库中之外,这通常不会成为问题。 Lua字节码和LuaJIT字节码是不同的。
正确的答案是更改IUP,以便使用Lua源编译而不是字节码。这可能会减慢IUP应用程序的启动速度,但它会使交叉编译IUP变得更容易,并且可以使用LuaJIT代替标准Lua。
答案 1 :(得分:1)
以下是IUP作者的答案,希望这对遇到与我同样的问题的人有所帮助
您似乎正在构建一个控制台应用程序。这意味着你 需要一个“主要”功能。如果您尝试构建Windows 没有控制台的应用程序,然后IUP将实现WinMain 功能为您服务并调用您的“主要”功能。在这两种情况下你都需要 “主要”功能。