1. 程式人生 > >Visual Studio 2015編譯Lua 5.3.4遇到的坑

Visual Studio 2015編譯Lua 5.3.4遇到的坑

deb line 平臺 選擇 src 函數 tle inline ott

被坑的不淺,遇到錯誤:“ LNK1561:必須定義入口點”,解決方案刪除再建,步驟一遍一遍操作,還是報錯。如下圖所示:

技術分享圖片

首先,它必須要改成DLL或者LIB(動態/靜態庫),如果是應用程序那必須要提供main函數的主入口。網上提供的方法,比如改 系統 - 子系統,各種方法都試過了,始終是報錯。

冷靜了一下,覺得是新建空項目那裏有問題。然後就改創建一個win32的空項目。

技術分享圖片

技術分享圖片

再添加lua/src目錄下面的 *.h *.c文件,結果發現可以正常編譯。我就好奇,到底哪一步出了問題,經過對比現有主要有兩處不一樣。

技術分享圖片

技術分享圖片

可是我在屬性裏,明明已經將配置類型改為dll了啊,如下圖:

技術分享圖片

我突然發現還有地方是Application,再看一下相關的平臺,發現選擇的平臺與要生成的目標平臺不一致導致的。改為選擇“所有平臺”,然後重新生成,通過!

我配置的平臺是 x86,它選擇生成的平臺卻是 win32,導致我無法正常生成。預處理的定義如下:

WIN32;_DEBUG;_WINDOWS;_USRDLL;LUA_LIB_EXPORTS;LUA_BUILD_AS_DLL

Visual Studio 2015編譯Lua 5.3.4遇到的坑