Closed tonyzzp closed 2 years ago
luamake也是调用的msbuild编译,在各项条件都相同的情况下,如果你使用visual studio编译,那么与使用luamake编译得到的结果应该是一致的。
@luciouskami luamake是直接用cl不经过msbuild
@tonyzzp 请用最新的版本。旧版本不会再维护了。
因为一些原因,需要使用lua5.1
编译的时候有这2个警告,我怀疑就是这个问题。
3rd/bee.lua/binding/lua_time.cpp(36): warning C4244: “参数”: 从“uint64_t”转换到“lua_Integer”,可能丢失数据 3rd/bee.lua/binding/lua_time.cpp(40): warning C4244: “参数”: 从“uint64_t”转换到“lua_Integer”,可能丢失数据
vcruntime.h里有这一段定义
typedef unsigned __int64 size_t;
typedef __int64 ptrdiff_t;
typedef __int64 intptr_t;
typedef unsigned int size_t;
typedef int ptrdiff_t;
typedef int intptr_t;
好像 lua_Integer 被定义为了int,也许不行? 我尝试添加_WIN64,但编译会有很多报错。
lua5.1的int只有32位,你需要一个int64的patch或者library。亦或者把GetTickCount64改成GetTickCount
我知道怎么回事了。 arch改成 x86_64就好了 。原来写的是x64。
我用的是某个老版本的bee.lua 在vs里编译正常。 用luamake编译linux版本也正常 但是用luamake编译windows版本,time.time()会我返回负值 请问有可能是什么原因呢?