2014-07-18 123 views
0

在我的cocos2d-x(V 2.2.4)项目中使用arc4Random。在Android上与NDK一起使用arc4Random

在MacOS上,我可以简单地使用它和Linux我包括我手动安装在我的系统上的bsd标题(bsd/bsd.h)。我现在想为Android本机编译它并获取错误:

jni/../../Classes/Scenes/GameScene.cpp:29:25: fatal error: bsd/bsd.h: No such file or directory compilation terminated.

我设法增强现有的Makefile。我的Android.mk看起来像这样:

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

LOCAL_MODULE := cocos2dcpp_shared 

LOCAL_MODULE_FILENAME := libcocos2dcpp 

LOCAL_SRC_FILES := hellocpp/main.cpp \ 
       ../../Classes/AppDelegate.cpp \ 
../../Classes/Scenes/MainMenuScene.cpp \ 
../../Classes/Scenes/GameScene.cpp \ 
../../Classes/BackgroundLayer.cpp \ 
../../Classes/VisibleRect.cpp \ 
../../Classes/Utils.cpp \ 
../../Classes/ScoreLayer.cpp \ 
../../Classes/HudLayer.cpp \ 
../../Classes/Animations.cpp \ 
../../Classes/Entities/Monster.cpp \ 
../../Classes/Scenes/SettingsScene.cpp \ 
../../Classes/Entities/Kitty.cpp \ 
../../Classes/Utils/md5.cpp \ 
../../Classes/Utils/ScreenLog.cpp \ 
../../Classes/Entities/StaticKitty.cpp \ 
../../Classes/Entities/FatKitty.cpp \ 
../../Classes/Entities/RocketKitty.cpp \ 
../../Classes/Entities/MovingKitty.cpp \ 
../../Classes/Input/GestureDetector.cpp 

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \ 
    /usr/incude/bsd/bsd.h \ 
    $(LOCAL_PATH)/../../Classes/Scenes/ \ 
    $(LOCAL_PATH)/../../Classes/Input/ \ 
    $(LOCAL_PATH)/../../Classes/Utils/ \ 
    $(LOCAL_PATH)/../../Classes/Entities/ \ 
    $(LOCAL_PATH)/../../../../extensions/CocoStudio/Json/rapidjson/ \ 

LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static 
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static 
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static 
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static 
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static 

include $(BUILD_SHARED_LIBRARY) 

$(call import-module,cocos2dx) 
$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl) 
$(call import-module,CocosDenshion/android) 
$(call import-module,extensions) 
$(call import-module,external/Box2D) 
$(call import-module,external/chipmunk) 

我想我也必须编译android的bsd东西,对不对?

我该如何得到这个工作?或者还有其他解决方法吗?

回答

0

经过大量的谷歌搜索和等待回复后,我得出结论,最好是将arc4random调用与简单的C++ rand调用进行交换。我无法编译armeabi,尽管它应该是可能的,因为整个BSD项目都可用。但它不值得承受压力;)