編譯lua動態庫
在vs2017中新建一個空項目,項目名luadll。
鼠標右鍵項目,配置選“所有配置”,平台選“所有平台”。
常規:
輸出目錄:$(SolutionDir)..\bin\$(Platform)\$(Configuration)\
中檢目錄:$(SolutionDir)..\bintemp\$(Platform)\$(ProjectName)\$(Configuration)\
項目默認值中,配置類型選“動態庫(.dll)”
我將下載好的lua源碼和這個項目放在同一個目錄下,luasrc是所有lua源碼。
鼠標右鍵項目->添加->現有項,將luasrc目錄下的lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c lmathlib.c loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c linit.c這些c文件,全部選上,引入過來。
鼠標右鍵項目屬性,C/C++ 預處理器 預處理器定義 添加LUA_BUILD_AS_DLL
然后點擊生成。
在輸出目錄下,得到下面兩個文件。
新建一個lua空項目。
鼠標右鍵項目,配置選“所有配置”,平台選“所有平台”。
常規:
輸出目錄:$(SolutionDir)..\bin\$(Platform)\$(Configuration)\
中檢目錄:$(SolutionDir)..\bintemp\$(Platform)\$(ProjectName)\$(Configuration)\
鼠標右鍵項目->添加->現有項,將lua.c選中,添加到lua項目中。
鼠標右鍵項目,點擊鏈接器->常規->附加庫目錄。
$(SolutionDir)..\bin\$(Platform)\$(Configuration)\;%(AdditionalLibraryDirectories)
點擊鏈接器->輸入->附加依賴項:luadll.lib(自己拿到lua源碼編譯的動態庫,生成之后的lib文件。)
點擊生成
在lua.exe同目錄下,新建test1.lua文件
for i=1, 4 do
print(i.."只愛白菜的小昆蟲")
end
在命令行執行