Cocos2d-x 3.17 正式版本发布

没有停止维护的计划,4.0 都还没出来没稳定,3.x 肯定不会停止维护的。

另外 cocos2d-x 是一个完全开源的引擎,开发者可以很容易的参与到维护中。

官方也一直希望社区可以更加活跃,社区能自我的解决问题,而不仅仅是社区反馈问题,官方解决问题。这一点上英文社区,比中文社区稍好一些。英文社区传送

那如果以后creator 支持c++/lua开发,你觉得还有人会用cocos2d-x吗?:grin:

cocos2d-x 和 creator ,你们为什么不选择某一个,抛弃另外一个?

cocos2d-x 4.0 大概多久会出来? 哈哈,我还是先跳creator 坑吧

内嵌支持 C++ 是一件遥远的事情。

现在支持 C++/Lua 的方式是通过插件把数据导入到 Cocos2d-x 中,怎么可能不用 Cocos2d-x。这两个是配合关系,不是有你没我,有我没你的关系。

你们?不知你问的开发者,还是引擎团队。对与引擎团队来说,两个都有存在的意义,所以不抛弃。只是现在侧重 creator

时间安排,请翻阅哲大曾经发的 2018 年计划。欢迎使用 creator,想去就去,不用留恋

2个都用下,哈哈哈

求助,3.17 lua版本编译出来的安卓包(即使是demo)在安卓8.1中会崩溃!目前日志跟踪是table插入时使用key-value方式的时候!求助啊,完全搞不懂什么状况!

重新开个贴,贴一下日志,堆栈

cocos2dx 我觉得挺好 够用 没什么大问题 性能也满足。。。 有问题自己也能改
还有啥不满足呢。。。

已新开帖子,并附上堆栈及日志信息,谢谢!
http://forum.cocos.com/t/lua-cocos2dx-v3-17-8-1-key-value-table/61003?u=ceoxue

请问cmake构建工程的时候如何定义如COCOS2D_DEBUG此类的宏,我在cmake命令后面加-DCOCOS2D_DEBUG=1是没有效果的,默认构建出来的visual studio工程是没有定义COCOS2D_DEBUG的,所以代码中自动定义为0了。
@2627993092

cmake 后直接这样加,参数是传给了 cmake,用来在构建脚本中做逻辑处理,并没有传到编译器。传编译器应该通过 CMAKE_CXX_FLAGS=***

COCOS2D_DEBUG 这个宏,本应该在脚本内加好的,算是个bug,已经修复。在

https://github.com/cocos2d/cocos2d-x/pull/18856/files

你可以读一下 cocos2d-x/cmake/Modules/Cocos*.cmake 了解一下内部实现,编译选项的设置在 CocosCompileOptions.cmake

支持H5啊~~~ 狠死了ios 的编译速度,还有审核了!

PYTHON2.7.X
ANT 1.10.3
JDK8
AS 3.1.1
NDK r16
依然编译不过。。。

编译什么不过,cpp-tests 不过,还是 cocos new 的新工程不过,完整的报错日志是什么

噗。。。。。哈哈哈哈
这个是奇葩的问题

In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\stdio.h:108:
D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/android/support/include\stdio.h:36:25: error: expected value in expression
#if (__USE_FILE_OFFSET64) && (ANDROID_API < ANDROID_API_N)
^
In file included from E:/Evanue/art/BoomHero_lua/frameworks/runtime-src/proj.android/app/jni/…/…/…/…/cocos2d-x/cocos/base/ZipUtils.cpp:34:
In file included from E:/Evanue/art/BoomHero_lua/frameworks/runtime-src/proj.android/app/jni/…/…/…/…/cocos2d-x/cocos\base/ZipUtils.h:31:
In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\string:470:
In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\string_view:169:
In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include__string:57:
D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\cstdio:135:9: error: no member named ‘fgetpos’ in the global namespace
using ::fgetpos;
~~^
[armeabi-v7a] Compile++ arm : cocos2dx_internal_static <= CCGroupCommand.cpp
D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\cstdio:137:9: error: no member named ‘fsetpos’ in the global namespace
using ::fsetpos;
~~^

NDK自己辩不过自己的一个头文件

__BEGIN_DECLS

#if __USE_FILE_OFFSET64 && ANDROID_API < ANDROID_API_N
// Not really available, but we need a decl to allow #include <cstdio>.
int fgetpos(FILE*, const fpos_t*) __RENAME(fgetpos64);
int fsetpos(FILE*, const fpos_t*) __RENAME(fsetpos64);
#endif

__END_DECLS

用python new 出来的LUA项目不过
首先是一个头文件找不到
(LOCAL_PATH)/../external/bullet/include \ (LOCAL_PATH)/…/external/bullet/include/bullet \

我看了下后发现 补充一个这个就行“$(LOCAL_PATH)/…/external/bullet/include \”

然后是NDK里的一个stdio.h的头文件好像出了语法错误


In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\stdio.h:108:
D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/android/support/include\stdio.h:36:25: error: expected value in expression
#if (__USE_FILE_OFFSET64) && (ANDROID_API < ANDROID_API_N)
^
In file included from E:/Evanue/art/BoomHero_lua/frameworks/runtime-src/proj.android/app/jni/…/…/…/…/cocos2d-x/cocos/base/ZipUtils.cpp:34:
In file included from E:/Evanue/art/BoomHero_lua/frameworks/runtime-src/proj.android/app/jni/…/…/…/…/cocos2d-x/cocos\base/ZipUtils.h:31:
In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\string:470:
In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\string_view:169:
In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include__string:57:
D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\cstdio:135:9: error: no member named ‘fgetpos’ in the global namespace
using ::fgetpos;
~~^
[armeabi-v7a] Compile++ arm : cocos2dx_internal_static <= CCGroupCommand.cpp
D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\cstdio:137:9: error: no member named ‘fsetpos’ in the global namespace
using ::fsetpos;
~~^

头文件里是这样的


#pragma once

#include_next <stdio.h>
#include <sys/cdefs.h>

__BEGIN_DECLS

#if __USE_FILE_OFFSET64 && ANDROID_API < ANDROID_API_N
// Not really available, but we need a decl to allow #include <cstdio>.
int fgetpos(FILE*, const fpos_t*) __RENAME(fgetpos64);
int fsetpos(FILE*, const fpos_t*) __RENAME(fsetpos64);
#endif

__END_DECLS

是在 Windows 上,路径太长了,试着把 lua 项目放到磁盘根目录,失败的话参考帖子

http://forum.cocos.com/t/3-17-lua/60857

ZipUtils.h 的问题,参考这个修复
https://github.com/cocos2d/cocos2d-x/pull/18857

谢谢 我去试试

In file included from E:/Evanue/art/BoomHero_lua/frameworks/runtime-src/proj.android/app/jni/…/…/…/…/cocos2d-x/cocos/…/external/unzip/ioapi.cpp:13:
In file included from E:/Evanue/art/BoomHero_lua/frameworks/runtime-src/proj.android/app/jni/…/…/…/…/cocos2d-x/cocos/…/external/unzip/ioapi.h:45:
In file included from D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/cxx-stl/llvm-libc++/include\stdio.h:108:
D:/Soft/Android/android-ndk-r16-beta1/build//…/sources/android/support/include\stdio.h:36:25: error: invalid token at start of a preprocessor expression
#if USE_FILE_OFFSET64 && ANDROID_API < ANDROID_API_N
^
1 error generated.
[armeabi-v7a] Compile arm : cocos2dx_internal_static <= xxhash.c
make: *** [E:/Evanue/art/BoomHero_lua/frameworks/runtime-src/proj.android/app/build/intermediates/ndkBuild/debug/obj/local/armeabi-v7a/objs-debug/cocos2dx_internal_static/
/external/unzip/ioapi.o] Error 1
make: *** Waiting for unfinished jobs…

这个是目前的问题 之前的 fgetpos的问题已经没有了