cocos2d-x 3.0 AssetsManager 跨平台编译失败

其他的都OK 困扰几个小时 之前项目用AssetsManager都是OK的 3.0后开始出现这个问题,不知道怎么解决

贴错误

Compile++ thumb: cocos_extension_static <= AssetsManager.cpp
In file included from D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:24:0:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:35:1: error: 'NS_CC_EXT_BEGIN' does not name a type
NS_CC_EXT_BEGIN
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:45:1: error: expected class-name before '{' token
{
^
In file included from D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:24:0:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:98:11: error: 'Node' has not been declared
using Node::update;
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:143:22: error: 'AssetsManagerDelegateProtocol' has not been declared
void setDelegate(AssetsManagerDelegateProtocol *delegate);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:149:5: error: 'AssetsManagerDelegateProtocol' does not name a type
AssetsManagerDelegateProtocol* getDelegate() const { return _delegate ;}
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:196:5: error: 'AssetsManagerDelegateProtocol' does not name a type
AssetsManagerDelegateProtocol *_delegate;
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:236:1: error: 'NS_CC_EXT_END' does not name a type
NS_CC_EXT_END;
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:46:1: error: 'NS_CC_EXT_BEGIN' does not name a type
NS_CC_EXT_BEGIN;
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In constructor 'AssetsManager::AssetsManager(const char*, const char*, const char*)':
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:88:3: error: class 'AssetsManager' does not have any field named '_delegate'
, _delegate(nullptr)
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In destructor 'virtual AssetsManager::~AssetsManager()':
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:99:16: error: '_delegate' was not declared in this scope
delete _delegate;
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In lambda function:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:167:23: error: 'class AssetsManager' has no member named '_delegate'
if (this->_delegate)
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:168:23: error: 'class AssetsManager' has no member named '_delegate'
this->_delegate->onError(ErrorCode::NETWORK);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In lambda function:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:179:23: error: 'class AssetsManager' has no member named '_delegate'
if (this->_delegate)
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:180:23: error: 'class AssetsManager' has no member named '_delegate'
this->_delegate->onError(ErrorCode::NO_NEW_VERSION);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In lambda function:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:212:27: error: 'class AssetsManager' has no member named '_delegate'
if (this->_delegate)
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:213:27: error: 'class AssetsManager' has no member named '_delegate'
this->_delegate->onError(ErrorCode::UNCOMPRESS);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In lambda function:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:237:23: error: 'class AssetsManager' has no member named '_delegate'
if (this->_delegate) this->_delegate->onSuccess();
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:237:40: error: 'class AssetsManager' has no member named '_delegate'
if (this->_delegate) this->_delegate->onSuccess();
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In lambda function:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:492:26: error: 'class AssetsManager' has no member named '_delegate'
if (manager->_delegate)
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:493:26: error: 'class AssetsManager' has no member named '_delegate'
manager->_delegate->onProgress(percent);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In lambda function:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:510:23: error: 'class AssetsManager' has no member named '_delegate'
if (this->_delegate)
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:511:23: error: 'class AssetsManager' has no member named '_delegate'
this->_delegate->onError(ErrorCode::CREATE_FILE);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In lambda function:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:534:23: error: 'class AssetsManager' has no member named '_delegate'
if (this->_delegate)
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:535:23: error: 'class AssetsManager' has no member named '_delegate'
this->_delegate->onError(ErrorCode::NETWORK);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: At global scope:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:589:6: error: prototype for 'void AssetsManager::setDelegate(AssetsManagerDelegateProtocol*)' does not match any in class 'AssetsManager'
void AssetsManager::setDelegate(AssetsManagerDelegateProtocol *delegate)
^
In file included from D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:24:0:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:143:10: error: candidate is: void AssetsManager::setDelegate(int*)
void setDelegate(AssetsManagerDelegateProtocol *delegate);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: In static member function 'static AssetsManager* AssetsManager::create(const char*, const char*, const char*, AssetsManager::ErrorCallback, AssetsManager::ProgressCallback, AssetsManager::SuccessCallback)':
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:625:34: error: no matching function for call to 'AssetsManager::setDelegate(AssetsManager::create(const char*, const char*, const char*, AssetsManager::ErrorCallback, AssetsManager::ProgressCallback, AssetsManager::SuccessCallback)::DelegateProtocolImpl*&)'
manager->setDelegate(delegate);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:625:34: note: candidate is:
In file included from D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:24:0:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:143:10: note: void AssetsManager::setDelegate(int*)
void setDelegate(AssetsManagerDelegateProtocol *delegate);
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.h:143:10: note: no known conversion for argument 1 from 'AssetsManager::create(const char*, const char*, const char*, AssetsManager::ErrorCallback, AssetsManager::ProgressCallback, AssetsManager::SuccessCallback)::DelegateProtocolImpl*' to 'int*'
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:627:14: error: 'class AssetsManager' has no member named 'autorelease'
manager->autorelease();
^
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp: At global scope:
D:/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/../cocos2d/extensions/assets-manager/AssetsManager.cpp:669:1: error: 'NS_CC_EXT_END' does not name a type
NS_CC_EXT_END;
^
/cygdrive/c/android-ndk-r9d/build/core/build-binary.mk:393: recipe for target `obj/local/armeabi/objs/cocos_extension_static/assets-manager/AssetsManager.o' failed
make: *** Error 1
make: 离开目录“/cygdrive/d/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android”
Traceback (most recent call last):
File "/cygdrive/d/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/build_native.py", line 191, in
build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
File "/cygdrive/d/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/build_native.py", line 178, in build
do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode)
File "/cygdrive/d/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android/build_native.py", line 89, in do_build
raise Exception("Build dynamic library for project " + app_android_root + " ] fails!")
Exception: Build dynamic library for project /cygdrive/d/cocos2d-x/cocos2d-x-3.0/mytest/MyCppGame/proj.android ] fails!

我也遇到过,当时我是没有引用extensions/ExtensionMacros.h头文件

有坑,不知道怎么跳