我使用cocos2d-x-3.0alpha1 在IOS环境下做好了一个cocostudio的范例.但是在Android环境下编译的时候.
就出现了cocostudio/CocoStudio.h: No such file or directory 不知道是什么原因.有人帮忙解答一下吗?
make: Entering directory /Users/dongren/Documents/cocos2d-x-3.0alpha1/projects/xXxGame/proj.android' /Users/dongren/Documents/android-ndk-r8e/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 9 in ./AndroidManifest.xml Compile++ thumb : cocos2dcpp_shared <= AppDelegate.cpp In file included from jni/../../Classes/AppDelegate.cpp:2:0: jni/../../Classes/HelloWorldScene.h:6:35: fatal error: cocostudio/CocoStudio.h: No such file or directory compilation terminated. make: *** Error 1 make: Leaving directory /Users/dongren/Documents/cocos2d-x-3.0alpha1/projects/xXxGame/proj.android’
没有引入,包括加载UI的头文件和包。
包含lib:
libGUI.lib
libCocosStudio.lib
包含以下头文件及命名空间:
#include “cocos2d.h”
#include “UILayer.h”
#include “UIHelper.h”
#include “cocos-ext.h” //引入扩展类
#include “cocostudio/CCSGUIReader.h”
//添加命名空间
using namespace cocos2d::extension;
using namespace gui;
using namespace cocos2d;
using namespace cocostudio;
已经解决.
Android工程环境下jni/android.mk
需要自己手动把引用cocostudio引用库添加上才可以编译
代码参考如下
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static #以开始缺少这个
include $(BUILD_SHARED_LIBRARY)
(call import-module,2d)
(call import-module,audio/android)
(call import-module,editor-support/cocostudio) #一开始缺少这个
(call import-module,Box2D)
楼主你好,能分享下你交叉编译经验吗?我现在也在尝试把cococs2d-x-3.0 alpha1 和 cocostudio-1-1-0制作的东西交叉编译到Android上,但是弄了一天也没弄好,能教一下我或者给个链接让我知道具体该怎么做吗?我下了Android ADT 和 NDK, JDK也安装好了的,项目现在也在VS2012上成功跑起来了,NDK环境变量也设置了。望不腻赐教。
Android的环境,一般不太好配置。
你可以一步步来编译尝试。
1:在win下,使用vs,把项目正常跑起来。在mac下,用xcode,正常跑起来。(也就是把项目正常运行起来)
2:配置Android环境,在Android里面把testcpp和helloworld等自带项目正常运行起来。(也就是Android的环境配置)
3:在Android下运行自己带有cocostudio的项目。
检查下4楼所说的这个:
Android工程环境下jni/android.mk
需要自己手动把引用cocostudio引用库添加上才可以编译
代码参考如下
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
关于第一条win下能正常跑起来了。
关于第二条我是按照:http://news.9ria.com/2013/0906/28543.html这个网站说的做的,添加NDK后显示NDK路径不能包含空格,但是路径是浏览得到的,这里要怎么改了?
期待您的回复
“添加NDK后显示NDK路径不能包含空格”,文件夹的名字不要含空格 你可以这么放置 f:/ndk_r8e/ , 里面放ndk的文件。
路径注意最好不要有中文和空格。
你也是从as3转过来的?
顶一下,开始我写成cocos_cocostudio_static 始终编译不通过。。。百度了很久看见这个帖子,终于便于通过了
为啥是LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static ?二不是cocos_cocostudio_static,我看cocostudio在cocos目录下啊?
LOCAL_WHOLE_STATIC_LIBRARIES +=是添加库文件
打开cocostudio库项目目录下的Android.mk文件,如我的是
D:\test\cocos2d\cocos\editor-support\cocostudio\Android.mk
里面有一句LOCAL_MODULE := cocostudio_static
项目\cocos2d\cocos\editor-support\cocostudio 下的Android.mk中LOCAL_MODULE := cocostudio_static
这个问题我也遇到了,看了楼主的解决方法后,再细看了一下Android工程环境下jni/android.mk,发现cocos2d-x已经为我们准备了要用的,只是大都注释了,如果要用到去了前面的“#”就行了。
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)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp
…/…/Classes/AppDelegate.cpp
…/…/Classes/HelloWorldScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/…/…/Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static
LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
(call import-module,.) (call import-module,audio/android)
$(call import-module,Box2D)
$(call import-module,editor-support/cocosbuilder)
$(call import-module,editor-support/spine)
$(call import-module,editor-support/cocostudio)
$(call import-module,network)
$(call import-module,extensions)
按照你的方法我的问题已经解决
Compile++ thumb: game_shared <= main.cpp
In file included from jni/hellocpp/main.cpp
0:
jni/…/…/sources/AppDelegate.h
43: fatal error: ProjectConfig/SimulatorConfig.h: No such file or directory
compilation terminated.
make.exe: *** Error 1
各位大大可以帮忙看这个问题吗,已经困扰2天了