在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
2016-03-05 更新: 之前编译的库,在 Android 下 Lua_Number 和 Lua_Integer 被编译为了32位,导致从 C# 到 Lua 过程中有64位到32位整型转换会出现溢出出错,出现异常大的负整数。 以下修改或是之前遗漏的部分均使用红色表示。 2016-11-21 更新: 之前编译的库都是用的是 32位的 NDK(当时vs2015还不支持最新的64位ndk),如果你是用64位的 NDK 编译请注意兼容性问题;其二请注意安卓打包的库目录问题,安卓库 "libs"目录下对应于不同的cpu目录: ARM 32: "armeabi-v7a" ARM 64: "arm64-v8a" x86 32: "x86" x86 64: "x86_64" 我们项目将 SLua 中的 Lua 核心升级为了 5.3.2,添加了 LPeg 和 sproto(和服务器兼容)。 整个工程直接分别创建了 Mac 和 IOS 的 XCode 工程,以及 Windows 和 Android 的 VS2015工程,vs 支持 clang 和 gcc 后,可以直接创建 Android NDK 工程。 安装 vs2015 的过程中,可以选择安装 Android 的支持,但是 NDK 以及其他工具的安装需要从谷歌下载,会导致这些组件安装失败,所以只能安装完成后,手动安装 NDK。 vs2015 只支持 NDK r10e 32位,使用更高版本将无法使用 clang,因为 vs2015默认且只支持 clang 3.6,具体请阅读这里。各个 Android 需求工具的安装默认路径,请参考这里。 一个简单的办法是:将下载好的 NDK 放置在:“C:\ProgramData\Microsoft\AndroidNDK”,或其他地方,然后修改注册表:“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\Setup\VS\SecondaryInstaller\AndroidNDK”(没有则新建),然后新建项:“NDK_HOME”,设置值为 NDK 的安装路径即可完成。再次编译 NDK 工程则不会出现 "NDK_ROOT" 未定义的情况。 最简单的办法是:在安装时不勾选 Android SDK,NDK,自己单独下载,安装 vs2015 完毕后,在 工具 -> 选项 -> Cross Platform -> C++ -> Android 一栏修改路径即可。 使用 vs2015 编译 Android 版本 slua 需要注意的几个地方:
编译工程 SLua + Lua 5.3.2 + LPeg 1.0.0 + sproto 的 GitHub 地址:https://github.com/yaukeywang/slua-503-build 后续:由于 premake5 目前对 vs2015 的支持还不完整,打算利用业余时间扩展 premake5,同时将改工程修改为 premake5 工程并提交到 github。 |
请发表评论