build_native.py failure ('cocos2d\cocos\ui\UIButton.h' file not found)

I made a project. and I’m trying to incrementally deal with making sure it works on android so as not to deal with all of porting hell in one soul sapping mass. However. Build_native.py already doesn’t like what I’m writing.

And so when I run it i get this error.

C:\cocos2d\NEETgames\StarPatrol\proj.android>python build_native.py
The Selected NDK toolchain version was 4.8 !
make.exe: Entering directory C:/cocos2d/NEETgames/StarPatrol/proj.android' [armeabi] Compile++ thumb: cocos2dcpp_shared <= main.cpp [armeabi] Compile++ thumb: cocos2dcpp_shared <= AppDelegate.cpp [armeabi] Compile++ thumb: cocos2dcpp_shared <= HelloWorldScene.cpp [armeabi] Compile++ thumb: cocos2dcpp_shared <= FileOperation.cpp In file included from jni/../../Classes/AppDelegate.cpp:3: jni/../../Classes/Mode_Spacebattle.h:5:10: fatal error: 'cocos2d\cocos\ui\UIButton.h' file not found #include "cocos2d\cocos\ui\UIButton.h" ^ jni/../../Classes/HelloWorldScene.cpp:73:45: warning: missing sentinel in function call [-Wsentinel] auto menu = Menu::create(closeItem, NULL); ^ , NULL jni/../../cocos2d/cocos/3d/../2d/CCMenu.h:81:18: note: function has been explicitly marked sentinel here static Menu* create(MenuItem* item, ...) CC_REQUIRES_NULL_TERMINATION; ^ 1 error generated. make.exe: *** [obj/local/armeabi/objs-debug/cocos2dcpp_shared/__/__/Classes/AppD elegate.o] Error 1 make.exe: *** Waiting for unfinished jobs.... 1 warning generated. make.exe: Leaving directoryC:/cocos2d/NEETgames/StarPatrol/proj.android’
Traceback (most recent call last):
File “build_native.py”, line 159, in
build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
File “build_native.py”, line 146, in build
do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,and
roid_platform,build_mode)
File “build_native.py”, line 82, in do_build
raise Exception(“Build dynamic library for project [ " + app_android_root +
" ] fails!”)
Exception: Build dynamic library for project [ C:\cocos2d\NEETgames\StarPatrol\p
roj.android ] fails!

C:\cocos2d\NEETgames\StarPatrol\proj.android>python build_native.py
The Selected NDK toolchain version was 4.8 !
make.exe: Entering directory C:/cocos2d/NEETgames/StarPatrol/proj.android' jni/Android.mk:13: *** missing separator. Stop. make.exe: Leaving directoryC:/cocos2d/NEETgames/StarPatrol/proj.android’
Traceback (most recent call last):
File “build_native.py”, line 159, in
build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
File “build_native.py”, line 146, in build
do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,and
roid_platform,build_mode)
File “build_native.py”, line 82, in do_build
raise Exception(“Build dynamic library for project [ " + app_android_root +
" ] fails!”)
Exception: Build dynamic library for project [ C:\cocos2d\NEETgames\StarPatrol\p
roj.android ] fails!

C:\cocos2d\NEETgames\StarPatrol\proj.android>python build_native.py clean
The Selected NDK toolchain version was 4.8 !
make.exe: Entering directory C:/cocos2d/NEETgames/StarPatrol/proj.android' jni/Android.mk:13: *** missing separator. Stop. make.exe: Leaving directoryC:/cocos2d/NEETgames/StarPatrol/proj.android’
Traceback (most recent call last):
File “build_native.py”, line 159, in
build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
File “build_native.py”, line 146, in build
do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,and
roid_platform,build_mode)
File “build_native.py”, line 82, in do_build
raise Exception(“Build dynamic library for project [ " + app_android_root +
" ] fails!”)
Exception: Build dynamic library for project [ C:\cocos2d\NEETgames\StarPatrol\p
roj.android ] fails!

C:\cocos2d\NEETgames\StarPatrol\proj.android>

Now. I’ve checked. And UIButton.h IS where it says it isn’t. So why is it being stupid? and if it’s going to persist in being stupid can you suggest an alternative to using build_native.py?

edit:
also to pre empt the question. Contents of android.mk
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d)
$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/external)
$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/cocos)
$(call import-add-path,$(LOCAL_PATH)/…/…/cocos2d/cocos/ui)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

LOCAL_SRC_FILES := hellocpp/main.cpp
…/…/Classes/AppDelegate.cpp
…/…/Classes/Ability_Space.cpp
…/…/Classes/AS_effect.cpp
…/…/Classes/CBReader.cpp
…/…/Classes/Common.cpp
…/…/Classes/Mode_Spacebattle.cpp
…/…/Classes/Module.cpp
…/…/Classes/Module_ability.cpp
…/…/Classes/Module_Booster.cpp
…/…/Classes/Module_Commodity.cpp
…/…/Classes/NPCship.cpp
…/…/Classes/pbar.cpp
…/…/Classes/Playership.cpp
…/…/Classes/ReferenceLibrary.cpp
…/…/Classes/Starship.cpp
…/…/Classes/StarshipBattler.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/…/…/Classes

LOCAL_STATIC_LIBRARIES := cocos2dx_static

include $(BUILD_SHARED_LIBRARY)

$(call import-module,.)

I tossed in the ui sub path just in case that would make the compiler less stupid.

Okay. Now it’s just jerking me around here. I tried running it again and got a DIFFERENT error message:

C:\cocos2d\NEETgames\StarPatrol>cd proj.android

C:\cocos2d\NEETgames\StarPatrol\proj.android>python build_native.py
The Selected NDK toolchain version was 4.8 !
make.exe: Entering directory `C:/cocos2d/NEETgames/StarPatrol/proj.android’
[armeabi][armeabi] Gdbsetup : Compile++ thumb: libs/armeabi/gdb.setup coco
s2dcpp_shared <= AppDelegate.cpp

[armeabi] Gdbserver : [arm-linux-androideabi-4.8] libs/armeabi/gdbserver
[armeabi] Compile++ thumb: cocos2dcpp_shared <= CBReader.cpp
[armeabi] Compile++ thumb: cocos2dcpp_shared <= Common.cpp
[armeabi] Compile++ thumb: cocos2dcpp_shared <= Mode_Spacebattle.cpp
[armeabi] Compile++ thumb: cocos2dcpp_shared <= Module.cpp
In file included from In file included from jni/…/…/Classes/AppDelegate.cppjni
/…/…/Classes/Common.cppjni/…/…/Classes/Mode_Spacebattle.cpp:::2611:
::
1:jni/…/…/Classes/Mode_Spacebattle.h :jni/…/…/Classes/Mode_Spacebattle.h5::5
warning10:: :10 : controlfatal error : fatal errormay: reach
end
‘cocos2d\cocos\ui\UIButton.h’ of ‘cocos2d\cocos\ui\UIButton.h’ file non-vo
id file
not notfunctionfound found[-Wreturn-type]

}#include “cocos2d\cocos\ui\UIButton.h”#include “cocos2d\cocos\ui\UIButton.h”

^ ^ ^

1 error generated.
make.exe: *** [obj/local/armeabi/objs-debug/cocos2dcpp_shared///Classes/AppD
elegate.o] Error 1
make.exe: *** Waiting for unfinished jobs…
1 warning generated.
1 error generated.
make.exe: *** [obj/local/armeabi/objs-debug/cocos2dcpp_shared///Classes/Mode
_Spacebattle.o] Error 1
make.exe: Leaving directory `C:/cocos2d/NEETgames/StarPatrol/proj.android’
Traceback (most recent call last):
File “build_native.py”, line 159, in
build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
File “build_native.py”, line 146, in build
do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,and
roid_platform,build_mode)
File “build_native.py”, line 82, in do_build
raise Exception(“Build dynamic library for project [ " + app_android_root +
" ] fails!”)
Exception: Build dynamic library for project [ C:\cocos2d\NEETgames\StarPatrol\p
roj.android ] fails!

C:\cocos2d\NEETgames\StarPatrol\proj.android>

I have no idea what this means, and the google machine doesn’t either.

what does

1:jni/…/…/Classes/Mode_Spacebattle.h :jni/…/…/Classes/Mode_Spacebattle.h5::5
warning10:: :10 : controlfatal error : fatal errormay: reach
end
‘cocos2d\cocos\ui\UIButton.h’ of ‘cocos2d\cocos\ui\UIButton.h’ file non-vo
id file
not notfunctionfound found[-Wreturn-type]

even mean?

edit:
And then next attempt it went back to the original error messages.

build_native.py is trying to drive me insane…

did u try importing editor-support folder in your make file?