protoc-gen-lua enum默认值解析错误分析与解决
测试用例:
package tutorial;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
optional PhoneType type = 1 [default = HOME];
}
测试用例:
package tutorial;
enum PhoneType {
MOBILE = 0;
HOME = 1;
WORK = 2;
}
message PhoneNumber {
optional PhoneType type = 1 [default = HOME];
}
先编译openssh,让它生成win32的头文件以及库。
perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir
ms\do_ms.bat
nmake -f ms\ntdll.mak
libwebsockets依赖openssl编译过成果。
先重命名openssl下的out32dll为lib。
cmake -G "Visual Studio 14" .. -DOPENSSL_ROOT_DIR=D:\works\quick_dev\tarballs\openssl
curl依赖openssl编译过成果。构建tarballs\deps目录结构
nmake /f Makefile.vc mode=dll WITH_SSL=dll WITH_ZLIB=dll
3.6.4 Release
3.6.4 在修正 widget clone not modify "sbuChildren" property
这个bug的时候,加入了下面的条件判断。
if child.name then
self.subChildren[child.name] = cloneChild
end
由于没有测试到图片节点没有 sbuChildren 的情况,所以clone的时候存在异常终止。
修改引擎中的quick/framework/cocos2dx/NodeEx.lua
文件的的504行为如下代码:
if child.name and self.subChildren then
注意同步修改项目下的YourProject/src/framework/cocos2dx/NodeEx.lua
文件。
google的黑科技protobuffer开源以后,在游戏的客户端与服务器通讯中得到了广泛的应用。但是官方一直没有提供lua的支持。
protoc-gen-lua 是最早实现pb for lua的项目。不过原作者很久没维护了,历时遗留的嵌套问题也没有去合并社区的修正方案。风云的pbc项目也是lua的protobuffer解决方案之一,但是它的用户接口与官方用法差异较大。
两种方案各有优势,Quick-Cocos2dx-Community 选择集成 protoc-gen-lua, 最重要的一点还是与Google官方pb用法规范上保持较好的一致性,这更有利于pb其它版本的老司机转到lua pb的使用上来,也有利于自定义需求的修改。
第一次听说最终幻想,还是在高中。受《重装机兵》的印象,个人喜欢JRPG,恰巧高中班里一死党也喜欢,每次讨论他就给安利《最终幻想8》。什么幻8第一次真人比例非Q版模型了,CG如何如何牛蒡。遗憾的是这货只在PS上发售,在那个大学就是人生未来的科举时代,卖台PS是玩玩不可能的。我们只能在各种游戏杂志上看着游戏攻略YY。那一年 1999,我记住了幻8,也记住了带我入坑的这货。
时间一晃进入大学,可以放开膀子玩游戏了,然而还是没有PS。不过PC的性能早已超越PS,于是可以在PC上使用ePSXe模拟器完美运行各个PS大作。
拷贝下面的命令到控制台
cmake -DCMAKE_TOOLCHAIN_FILE=android.toolchain.cmake \
-DLIBTYPE=STATIC \
-DANDROID_NDK=/Users/u0u0/bin/android-ndk-r10e \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_NATIVE_API_LEVEL=android-10 \
-DANDROID_ABI="armeabi" \
..
最后make编译。
cmake > 3.16, ndk > r19, 使用cmake自带Android配合ndk自带cmake文件。
cmake .. \
-DLIBTYPE=STATIC \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=/Users/u0u0/bin/adt-bundle-mac/sdk/ndk-bundle/build/cmake/android.toolchain.cmake \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_ABI=arm64-v8a \
-DANDROID_PLATFORM=android-21
在visual studio中添加外部工具
1、"Menubar --> Tools --> External Tools"
2、点击‘add’
Title: Visual Studio Command Prompt
Command: cmd.exe
Arguments: %comspec% /k "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
3、启动“Visual Studio Command Prompt”
cd src
msvcbuild
首先你应该详细阅读这两篇文章
http://www.jianshu.com/p/69ed4489762c
http://www.jianshu.com/p/a6bab07c4062
目前看,苹果审核检查的机制是在IPv6的网络环境下运行你的ipa包,如果链接服务器正常,那么表示 IPv6 only 支持ok。
文章里面有构建测试环境的方法,在包上线之前建议都构建环境测试一下。
新的curl与websocket库的commit:872642c
注意:Quick社区版本的三方库是独立维护的,库的版本略落后于cocos官方,不建议直接使用cocos官方的库,那样会更新一大堆头文件,增加测试。
另外,应用层需要检查一下,避免直接使用IP地址的方式访问服务器,以域名的方式访问会更好的兼容IPv6与IPv4网络。